Leaked source code of windows server 2003
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

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