You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.9 KiB
88 lines
2.9 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1997 - 1999
|
|
//
|
|
// File: pstrpc.idl
|
|
//
|
|
// Description:
|
|
//
|
|
// This file describes the DPAPI ICryptProtect interface, which
|
|
// is a local-only RPC interface used by the CryptProtectData and
|
|
// CryptUnprotectData functions. The server-side handlers for this
|
|
// interface live in the lsass.exe process.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
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, unique][size_is(cbOptionalEntropy)]
|
|
BYTE* pbOptionalEntropy,
|
|
[in] DWORD cbOptionalEntropy,
|
|
|
|
[in, unique] PSSCRYPTPROTECTDATA_PROMPTSTRUCT pPromptStruct,
|
|
[in] DWORD dwFlags,
|
|
[in, unique][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, unique][size_is(cbOptionalEntropy)]
|
|
BYTE* pbOptionalEntropy,
|
|
[in] DWORD cbOptionalEntropy,
|
|
|
|
[in, unique] PSSCRYPTPROTECTDATA_PROMPTSTRUCT pPromptStruct,
|
|
[in] DWORD dwFlags,
|
|
[in, unique][size_is(cbOptionalPassword)]
|
|
BYTE* pbOptionalPassword,
|
|
[in] DWORD cbOptionalPassword
|
|
);
|
|
|
|
}
|