270 lines
9.5 KiB
Plaintext
270 lines
9.5 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1997 - 1999
|
|
//
|
|
// File: pstrpc.idl
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
import "unknwn.idl";
|
|
import "pstypes.idl";
|
|
|
|
import "basetsd.h";
|
|
|
|
////////////////////////////
|
|
// Interfaces
|
|
|
|
[
|
|
uuid(C9378FF1-16F7-11d0-A0B2-00AA0061426A),
|
|
version(1.0),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPStoreProv
|
|
{
|
|
HRESULT SSPStoreEnumProviders(
|
|
[in] handle_t h,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[out] PPST_PROVIDERINFO* ppPSTInfo,
|
|
[in] DWORD dwIndex,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSGetProvInfo(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[out] PPST_PROVIDERINFO* ppPSTInfo,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSGetProvParam(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] DWORD dwParam,
|
|
[out] DWORD* pcbData,
|
|
[out][size_is(,*pcbData)]
|
|
BYTE** ppbData,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSSetProvParam(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] DWORD dwParam,
|
|
[in] DWORD cbData,
|
|
[in][size_is(cbData)]
|
|
BYTE* pbData,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSAcquireContext(
|
|
[in] handle_t h,
|
|
[in] PPST_PROVIDERID pProvID,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] DWORD pidCaller,
|
|
[out] PST_PROVIDER_HANDLE* phPSTProv,
|
|
[in] DWORD_PTR lpReserved,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSReleaseContext(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] DWORD dwFlags);
|
|
|
|
|
|
// interface to communicate passwords from external sources
|
|
// such as credential managers
|
|
|
|
HRESULT SSPasswordInterface(
|
|
[in] handle_t h,
|
|
[in] DWORD dwParam,
|
|
[in] DWORD cbData,
|
|
[in][size_is(cbData)]
|
|
BYTE* pbData);
|
|
|
|
|
|
// Enumeration
|
|
|
|
HRESULT SSEnumTypes(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[out] GUID* pguidType,
|
|
[in] DWORD dwIndex,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSEnumSubtypes(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[out] GUID* pguidSubtype,
|
|
[in] DWORD dwIndex,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSEnumItems(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[out] LPWSTR* ppszItemName,
|
|
[in] DWORD dwIndex,
|
|
[in] DWORD dwFlags);
|
|
|
|
|
|
// Type, Subtype info
|
|
|
|
HRESULT SSGetTypeInfo(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[out] PPST_TYPEINFO* ppinfoType,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSGetSubtypeInfo(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[out] PPST_TYPEINFO* ppinfoSubtype,
|
|
[in] DWORD dwFlags);
|
|
|
|
|
|
// Creation
|
|
|
|
HRESULT SSCreateType(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] PPST_TYPEINFO pinfoType,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSCreateSubtype(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] PPST_TYPEINFO pinfoSubtype,
|
|
[in] PPST_ACCESSRULESET psRules,
|
|
[in] DWORD dwFlags);
|
|
|
|
|
|
// Deletion
|
|
|
|
HRESULT SSDeleteType(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSDeleteSubtype(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSDeleteItem(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] LPCWSTR szItemName,
|
|
[in] PPST_PROMPTINFO psPrompt,
|
|
[in] DWORD dwFlags);
|
|
|
|
|
|
// Item read/write
|
|
|
|
HRESULT SSReadItem(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] LPCWSTR szItemName,
|
|
[out] DWORD* pcbData,
|
|
[out][size_is(,*pcbData)]
|
|
BYTE** ppbData,
|
|
[in] PPST_PROMPTINFO psPrompt,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSWriteItem(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] LPCWSTR szItemName,
|
|
[in] DWORD cbData,
|
|
[in][size_is(cbData)]
|
|
BYTE* pbData,
|
|
[in] PPST_PROMPTINFO psPrompt,
|
|
[in] DWORD dwDefaultConfirmationStyle,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSOpenItem(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] LPCWSTR szItemName,
|
|
[in] PST_ACCESSMODE ModeFlags,
|
|
[in] PPST_PROMPTINFO psPrompt,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSCloseItem(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] LPCWSTR szItemName,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSReadAccessRuleset(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[out] PPST_ACCESSRULESET* ppsRules,
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT SSWriteAccessRuleset(
|
|
[in] handle_t h,
|
|
[in] PST_PROVIDER_HANDLE hPSTProv,
|
|
[in] PST_CALL_CONTEXT CallerContext,
|
|
[in] PST_KEY Key,
|
|
[in] const GUID* pguidType,
|
|
[in] const GUID* pguidSubtype,
|
|
[in] PPST_ACCESSRULESET psRules,
|
|
[in] DWORD dwFlags);
|
|
|
|
}
|