Hello, After retrying, I tried the same function arguments that msn messenger 7.5 passes to advapi32. It seems that function _is_ allowed to define the flags CRYPT_NEWKEYSET and CRYPT_VERIFYCONTEXT at the same time.
I tried the same flags for advapi32 crosstest 'crypt' in linux and windows. Linux: $ wine advapi32_crosstest.exe crypt crypt.c:198: Test failed: 0/80090009 windows 2000: Test didn't fail. Patch attached. Note that second parameter must be NULL for this call to succeed. Maarten
diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c
index def6c82..d2f53af 100644
--- a/dlls/advapi32/tests/crypt.c
+++ b/dlls/advapi32/tests/crypt.c
@@ -193,6 +193,17 @@ static void test_acquire_context(void)
if (hProv)
pCryptReleaseContext(hProv, 0);
+ SetLastError(0xdeadbeef);
+ result = pCryptAcquireContextA(&hProv, NULL, szRsaBaseProv, PROV_RSA_FULL, CRYPT_NEWKEYSET|CRYPT_VERIFYCONTEXT);
+ GLE = GetLastError();
+ ok(result && (GLE == ERROR_ENVVAR_NOT_FOUND ||
+ GLE == ERROR_SUCCESS ||
+ GLE == ERROR_RING2_STACK_IN_USE ||
+ GLE == NTE_FAIL ||
+ GLE == ERROR_NOT_LOGGED_ON), "%d/%08x\n", result, GLE);
+ if (hProv)
+ pCryptReleaseContext(hProv, 0);
+
/* Try again, witch an empty ("\0") szProvider parameter */
hProv = 0;
SetLastError(0xdeadbeef);
signature.asc
Description: OpenPGP digital signature
