|
|
// pstorec.idl : IDL source for pstorec.dll //
// This file will be processed by the MIDL tool to // produce the type library (pstorec.tlb) and marshalling code.
import "wtypes.idl"; import "..\..\common\dpapi\pstypes.idl";
[ object, uuid(5A6F1EC1-2DB1-11D0-8C39-00C04FD9126B), helpstring("IEnumPStoreItems Interface"), pointer_default(unique) ] interface IEnumPStoreItems : IUnknown { import "oaidl.idl";
// gets the next items HRESULT Next( [in] DWORD celt, [out] LPWSTR *rgelt, [in, out] DWORD *pceltFetched );
// skips the requested number of items HRESULT Skip( [in] DWORD celt );
// resets the enumeration HRESULT Reset();
// clones the interface HRESULT Clone( [out] IEnumPStoreItems **ppenum ); };
[ object, uuid(789C1CBF-31EE-11d0-8C39-00C04FD9126B), helpstring("IEnumPStoreTypes Interface"), pointer_default(unique) ] interface IEnumPStoreTypes : IUnknown { import "oaidl.idl";
// gets the next requested number of types HRESULT Next( [in] DWORD celt, [size_is(*pceltFetched)] [out] GUID *rgelt, [in, out] DWORD *pceltFetched );
// skips the requested number of types HRESULT Skip( [in] DWORD celt );
// resets the enumeration HRESULT Reset();
// clones the interface HRESULT Clone( [out] IEnumPStoreTypes **ppenum ); };
[ object, uuid(5A6F1EC0-2DB1-11D0-8C39-00C04FD9126B), helpstring("IPStore Interface"), pointer_default(unique) ] interface IPStore : IUnknown { import "oaidl.idl";
// METHODS
// GetInfo - returns information on the provider HRESULT GetInfo( [out] PPST_PROVIDERINFO *ppProperties );
// GetProvParam - gets the specificed parameter information HRESULT GetProvParam( [in] DWORD dwParam, [out] DWORD *pcbData, [out][size_is(,*pcbData)] BYTE **ppbData, [in] DWORD dwFlags );
// SetProvParam - sets the specificed parameter information HRESULT SetProvParam( [in] DWORD dwParam, [in] DWORD cbData, [in][size_is(cbData)] BYTE *pbData, [in] DWORD dwFlags );
// CreateType - creates a type HRESULT CreateType( [in] PST_KEY Key, [in] const GUID *pType, [in] PPST_TYPEINFO pInfo, [in] DWORD dwFlags );
// GetTypeInfo - gets the information associated with a type HRESULT GetTypeInfo( [in] PST_KEY Key, [in] const GUID *pType, [out] PPST_TYPEINFO *ppInfo, [in] DWORD dwFlags );
// DeleteType - deletes a type HRESULT DeleteType( [in] PST_KEY Key, [in] const GUID *pType, [in] DWORD dwFlags );
// CreateSubtype - creates a type HRESULT CreateSubtype( [in] PST_KEY Key, [in] const GUID *pType, [in] const GUID *pSubtype, [in] PPST_TYPEINFO pInfo, [in] PPST_ACCESSRULESET pRules, [in] DWORD dwFlags );
// GetSubtypeInfo - gets the information associated with a subtype HRESULT GetSubtypeInfo( [in] PST_KEY Key, [in] const GUID *pType, [in] const GUID *pSubtype, [out] PPST_TYPEINFO *ppInfo, [in] DWORD dwFlags );
// DeleteType - deletes a subtype HRESULT DeleteSubtype( [in] PST_KEY Key, [in] const GUID *pType, [in] const GUID *pSubtype, [in] DWORD dwFlags );
// ReadTypeAccessRuleset - reads the access rules for the given type HRESULT ReadAccessRuleset( [in] PST_KEY Key, [in] const GUID *pType, [in] const GUID *pSubtype, [out] PPST_ACCESSRULESET *ppRules, [in] DWORD dwFlags );
// WriteTypeAccessRuleset - writes the access rules for the given type HRESULT WriteAccessRuleset( [in] PST_KEY Key, [in] const GUID *pType, [in] const GUID *pSubtype, [in] PPST_ACCESSRULESET pRules, [in] DWORD dwFlags );
// EnumTypes - returns an interface for enumerating types HRESULT EnumTypes( [in] PST_KEY Key, [in] DWORD dwFlags, [in] IEnumPStoreTypes **ppenum );
// EnumSubtypes - returns an interface for enumerating subtypes HRESULT EnumSubtypes( [in] PST_KEY Key, [in] const GUID *pType, [in] DWORD dwFlags, [in] IEnumPStoreTypes **ppenum );
// DeleteItem - deletes item from the protected storage HRESULT DeleteItem( [in] PST_KEY Key, [in] const GUID *pItemType, [in] const GUID *pItemSubtype, [in] LPCWSTR szItemName, [in] PPST_PROMPTINFO pPromptInfo, [in] DWORD dwFlags );
// ReadItem - reads item from the protected storage HRESULT ReadItem( [in] PST_KEY Key, [in] const GUID *pItemType, [in] const GUID *pItemSubtype, [in] LPCWSTR szItemName, [out] DWORD *pcbData, [out][size_is(,*pcbData)] BYTE **ppbData, [in] PPST_PROMPTINFO pPromptInfo, [in] DWORD dwFlags );
// WriteItem - writes item to the protected storage HRESULT WriteItem( [in] PST_KEY Key, [in] const GUID *pItemType, [in] const GUID *pItemSubtype, [in] LPCWSTR szItemName, [in] DWORD cbData, [in][size_is(cbData)] BYTE *pbData, [in] PPST_PROMPTINFO pPromptInfo, [in] DWORD dwDefaultConfirmationStyle, [in] DWORD dwFlags );
// OpenItem - opens an item for multiple accesses HRESULT OpenItem( [in] PST_KEY Key, [in] const GUID *pItemType, [in] const GUID *pItemSubtype, [in] LPCWSTR szItemName, [in] PST_ACCESSMODE ModeFlags, [in] PPST_PROMPTINFO pPromptInfo, [in] DWORD dwFlags );
// CloseItem - closes an item HRESULT CloseItem( [in] PST_KEY Key, [in] const GUID *pItemType, [in] const GUID *pItemSubtype, [in] LPCWSTR szItemName, [in] DWORD dwFlags );
// get the interface pointer of a subtype for enumeration of items HRESULT EnumItems( [in] PST_KEY Key, [in] const GUID *pItemType, [in] const GUID *pItemSubtype, [in] DWORD dwFlags, [in] IEnumPStoreItems **ppenum );
};
[ object, uuid(5A6F1EBF-2DB1-11D0-8C39-00C04FD9126B), helpstring("IEnumPStoreProviders Interface"), pointer_default(unique) ] interface IEnumPStoreProviders : IUnknown { import "oaidl.idl";
// gets the next provider HRESULT Next( [in] DWORD celt, [size_is(*pceltFetched)] [out] PST_PROVIDERINFO **rgelt, [in, out] DWORD *pceltFetched );
// skips the requested provider HRESULT Skip( [in] DWORD celt );
// resets the enumeration HRESULT Reset();
// clones the interface HRESULT Clone( [out] IEnumPStoreProviders **ppenum ); };
[ uuid(5A6F1EBD-2DB1-11D0-8C39-00C04FD9126B), version(1.0), helpstring("PStore 1.0 Type Library") ] library PSTORECLib {
importlib("stdole2.tlb");
[ uuid(5A6F1EC3-2DB1-11D0-8C39-00C04FD9126B), helpstring("PStore Class") ] coclass CPStore { [default] interface IEnumPStoreProviders; interface IPStore; };
[ uuid(09BB61E7-31EC-11d0-8C39-00C04FD9126B), helpstring("CEnumTypes Class") ] coclass CEnumTypes { [default] interface IEnumPStoreTypes; };
[ uuid(09BB61E6-31EC-11d0-8C39-00C04FD9126B), helpstring("CEnumPStoreItems Class") ] coclass CEnumItems { [default] interface IEnumPStoreItems; };
};
// functions exported from the DLL
// PStoreCreateInstance - gets interface to a specific storage provider HRESULT __stdcall PStoreCreateInstance( IPStore **ppProvider, // out PST_PROVIDERID *pProviderID, // in void *pReserved, // in DWORD dwFlags); // in
// PStoreEnumProviders - returns an interface for enumerating providers HRESULT __stdcall PStoreEnumProviders( DWORD dwFlags, // in IEnumPStoreProviders **ppenum); // out
|