//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1997 - 1999 // // File: pstrpc.idl // //-------------------------------------------------------------------------- import "unknwn.idl"; import "basetsd.h"; typedef struct _SSCRYPTPROTECTDATA_PROMPTSTRUCT { DWORD cbSize; DWORD dwPromptFlags; // DWORD_PTR hwndApp; // LPCWSTR szPrompt; } SSCRYPTPROTECTDATA_PROMPTSTRUCT, *PSSCRYPTPROTECTDATA_PROMPTSTRUCT; //////////////////////////// // Interfaces [ uuid(11220835-5b26-4d94-ae86-c3e475a809de), version(1.0), pointer_default(unique) ] interface ICryptProtect { DWORD SSCryptProtectData( [in] handle_t h, [out][size_is(,*pcbOut)] BYTE** ppbOut, [out] DWORD* pcbOut, [in][size_is(cbIn)] BYTE* pbIn, // in encr data [in] DWORD cbIn, // in encr cb [in] LPCWSTR szDataDescr, [in,ptr][size_is(cbOptionalEntropy)] BYTE* pbOptionalEntropy, [in] DWORD cbOptionalEntropy, [in,ptr] GUID* pguidProvider, [in,ptr] PSSCRYPTPROTECTDATA_PROMPTSTRUCT pPromptStruct, [in] DWORD dwFlags, [in,ptr][size_is(cbOptionalPassword)] BYTE* pbOptionalPassword, [in] DWORD cbOptionalPassword ); DWORD SSCryptUnprotectData( [in] handle_t h, [out][size_is(,*pcbOut)] BYTE** ppbOut, [out] DWORD* pcbOut, [in][size_is(cbIn)] BYTE* pbIn, // in encr data [in] DWORD cbIn, // in encr cb [in,out,ptr] LPWSTR* ppszDataDescr, [in,ptr][size_is(cbOptionalEntropy)] BYTE* pbOptionalEntropy, [in] DWORD cbOptionalEntropy, [in,out,ptr] GUID* pguidProvider, [in,ptr] PSSCRYPTPROTECTDATA_PROMPTSTRUCT pPromptStruct, [in] DWORD dwFlags, [in,ptr][size_is(cbOptionalPassword)] BYTE* pbOptionalPassword, [in] DWORD cbOptionalPassword ); }