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