windows-nt/Source/XPSP1/NT/ds/security/cryptoapi/common/dpapi/dprpc.idl
2020-09-26 16:20:57 +08:00

87 lines
2.6 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// 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
);
}