I had some trouble with an application failing to make calls to CryptProtectData, so I decided to add the stub implementation for it. ChangeLog: * dlls/crypt32/main.c Stubs for CryptProtectData and CryptUnprotectData * include/wincrypt.h Added typedef for CRYPTPROTECT_PROMPTSTRUCT Index: wine/dlls/crypt32/crypt32.spec =================================================================== RCS file: /home/wine/wine/dlls/crypt32/crypt32.spec,v retrieving revision 1.13 diff -u -r1.13 crypt32.spec --- wine/dlls/crypt32/crypt32.spec 12 May 2003 03:21:45 -0000 1.13 +++ wine/dlls/crypt32/crypt32.spec 31 Oct 2003 21:41:49 -0000 @@ -132,6 +132,7 @@ @ stub CryptMsgSignCTL @ stub CryptMsgUpdate @ stub CryptMsgVerifyCountersignatureEncoded +@ stdcall CryptProtectData(ptr wstr ptr long ptr long ptr) @ stdcall CryptRegisterDefaultOIDFunction(long str long wstr) @ stdcall CryptRegisterOIDFunction(long str str wstr str) @ stub CryptRegisterOIDInfo @@ -148,7 +149,7 @@ @ stub CryptSignHashU @ stub CryptSignMessage @ stub CryptSignMessageWithKey -@ stub CryptUnprotectData +@ stdcall CryptUnprotectData(ptr ptr ptr long ptr long ptr) @ stub CryptUnregisterDefaultOIDFunction @ stub CryptUnregisterOIDFunction @ stub CryptUnregisterOIDInfo Index: wine/dlls/crypt32/main.c =================================================================== RCS file: /home/wine/wine/dlls/crypt32/main.c,v retrieving revision 1.12 diff -u -r1.12 main.c --- wine/dlls/crypt32/main.c 8 Sep 2003 19:38:49 -0000 1.12 +++ wine/dlls/crypt32/main.c 31 Oct 2003 21:41:49 -0000 @@ -57,6 +57,7 @@ * (0x1001350, %eax, 0, 0, 9); * */ + BOOL WINAPI CertOpenStore(LPSTR dw1, DWORD dw2, DWORD dw3, DWORD dw4, DWORD dw5 ) { FIXME("(%s, %ld, %ld, %ld, %ld), stub.\n", debugstr_a(dw1), dw2, dw3, dw4, dw 5); @@ -129,3 +130,21 @@ dwMsgAndCertEncodingType, dwSaveAs, dwSaveTo, pvSaveToPara, dwFlags); return TRUE; } + +BOOL WINAPI CryptProtectData(DATA_BLOB* pDataIn, LPCWSTR szDataDescr, + DATA_BLOB* pOptionalEntropy, PVOID pvReserved, + CRYPTPROTECT_PROMPTSTRUCT* pPromptStruct, + DWORD dwFlags, DATA_BLOB* pDataOut) +{ + FIXME("stub!\n"); + return FALSE; +} +BOOL WINAPI CryptUnprotectData(DATA_BLOB* pDataIn, LPWSTR* ppszDataDescr, + DATA_BLOB* pOptionalEntropy,PVOID pvReserved, + CRYPTPROTECT_PROMPTSTRUCT* pPromptStruct, + DWORD dwFlags, DATA_BLOB* pDataOut) +{ + FIXME("stub!\n"); + return FALSE; +} + Index: wine/include/wincrypt.h =================================================================== RCS file: /home/wine/wine/include/wincrypt.h,v retrieving revision 1.13 diff -u -r1.13 wincrypt.h --- wine/include/wincrypt.h 7 Oct 2003 22:52:20 -0000 1.13 +++ wine/include/wincrypt.h 31 Oct 2003 21:41:50 -0000 @@ -49,6 +49,13 @@ CRYPT_DER_BLOB, *PCRYPT_DER_BLOB, CRYPT_ATTR_BLOB, *PCRYPT_ATTR_BLOB; +typedef struct _CRYPTPROTECT_PROMPTSTRUCT { + DWORD cbSize; + DWORD dwPromptFlags; + HWND hwndApp; + LPCWSTR szPrompt; +} CRYPTPROTECT_PROMPTSTRUCT, *PCRYPTPROTECT_PROMPTSTRUCT; + typedef struct _CRYPT_ALGORITHM_IDENTIFIER { LPSTR pszObjId; CRYPT_OBJID_BLOB Parameters;