|
|
/*++
Copyright (c) 1996-1999 Microsoft Corporation
Module Name:
pstore.h
Abstract:
This module defines the Protected Storage COM interface and associated data structures.
Author:
Scott Field (sfield) 13-Mar-97
--*/
#ifndef __PSTORE_H__
#define __PSTORE_H__
#if _MSC_VER > 1000
#pragma once
#endif
/*
Typedefs, values */
// provider flags
// provider capabilities
typedef DWORD PST_PROVIDERCAPABILITIES;
#define PST_PC_PFX 0x00000001
#define PST_PC_HARDWARE 0x00000002
#define PST_PC_SMARTCARD 0x00000004
#define PST_PC_PCMCIA 0x00000008
#define PST_PC_MULTIPLE_REPOSITORIES 0x00000010
#define PST_PC_ROAMABLE 0x00000020
// NYI (not yet implemented)
typedef DWORD PST_REPOSITORYCAPABILITIES;
#define PST_RC_REMOVABLE 0x80000000
// provider storage area
typedef DWORD PST_KEY;
#define PST_KEY_CURRENT_USER 0x00000000
#define PST_KEY_LOCAL_MACHINE 0x00000001
/*
dwDefaultConfirmationStyle flags */
//
// allows user to choose confirmation style
//
#define PST_CF_DEFAULT 0x00000000
//
// forces silent item creation
//
#define PST_CF_NONE 0x00000001
/*
dwPromptFlags */
//
// app forces confirmation to be shown
//
#define PST_PF_ALWAYS_SHOW 0x00000001
//
// RSABase rqmt: determine if item has ui attached
//
#define PST_PF_NEVER_SHOW 0x00000002
/*
dwFlags values */
//
// Allows caller to specify creation not overwrite
// of item during WriteItem call
//
#define PST_NO_OVERWRITE 0x00000002
//
// specifies insecure data stream to be written/read
// there is no protection or guarantees for this data
// flag only valid during item read/write calls
// default: item calls are secure
//
#define PST_UNRESTRICTED_ITEMDATA 0x00000004
//
// on ReadItem call
// return value on success without UI on item is PST_E_OK
// return value on success with UI on item is PST_E_ITEM_EXISTS
// return value on failure is a different error code
//
#define PST_PROMPT_QUERY 0x00000008
//
// on ReadItem, DeleteItem, for data migration purposes:
// Avoid displaying UI on ReadItem unless a custom password is required (highsecurity).
// Avoid displaying UI on DeleteItem, period.
//
#define PST_NO_UI_MIGRATION 0x00000010
/*
Security masks, rule modifiers */
//
// models access after NT access mask
//
// read, write
typedef DWORD PST_ACCESSMODE;
#define PST_READ 0x0001
#define PST_WRITE 0x0002
// PST_ACCESSCLAUSETYPE
// memhash, diskhash, authenticode, etc
typedef DWORD PST_ACCESSCLAUSETYPE;
//
// pbClauseData points to PST_AUTHENTICODEDATA structure.
//
#define PST_AUTHENTICODE 1
//
// pbClauseData points to PST_BINARYCHECKDATA structure.
//
#define PST_BINARY_CHECK 2
//
// pbClauseData points to valid Windows NT security descriptor.
// note that performance is improved on Set operations if the security
// descriptor is in self-relative format, with valid owner and group Sids
// (non-NULL).
//
#define PST_SECURITY_DESCRIPTOR 4
//
// pbClauseData is in self-relative format
// (for internal use only)
//
#define PST_SELF_RELATIVE_CLAUSE 0x80000000L
//
// currently access clause modifiers - NOT to be or'd together
//
//
// specified image is the immediate caller, and is an application (.exe)
//
#define PST_AC_SINGLE_CALLER 0
//
// specified image is not necessary the immediate caller, and is an
// application (.exe)
//
#define PST_AC_TOP_LEVEL_CALLER 1
//
// specified image is the immediate caller. May be
// an application (.exe) or a .dll
//
#define PST_AC_IMMEDIATE_CALLER 2
/*
Provider Parameters */ //
// flush the internal cache of passwords -- temporary?
//
#define PST_PP_FLUSH_PW_CACHE 0x1
/*
Provider Defns */
//
// Microsoft Base Provider (MS_BASE_PSTPROVIDER...)
//
#define MS_BASE_PSTPROVIDER_NAME L"System Protected Storage"
// {8A078C30-3755-11d0-A0BD-00AA0061426A}
#define MS_BASE_PSTPROVIDER_ID { 0x8a078c30, 0x3755, 0x11d0, { 0xa0, 0xbd, 0x0, 0xaa, 0x0, 0x61, 0x42, 0x6a } }
#define MS_BASE_PSTPROVIDER_SZID L"8A078C30-3755-11d0-A0BD-00AA0061426A"
//
// Microsoft PFX Provider (MS_PFX_PSTPROVIDER...)
//
#define MS_PFX_PSTPROVIDER_NAME L"PFX Storage Provider"
// {3ca94f30-7ac1-11d0-8c42-00c04fc299eb}
#define MS_PFX_PSTPROVIDER_ID { 0x3ca94f30, 0x7ac1, 0x11d0, {0x8c, 0x42, 0x00, 0xc0, 0x4f, 0xc2, 0x99, 0xeb} }
#define MS_PFX_PSTPROVIDER_SZID L"3ca94f30-7ac1-11d0-8c42-00c04fc299eb"
/*
Globally registered Type/Subtype guid/name pairs */
#define PST_CONFIGDATA_TYPE_STRING L"Configuration Data"
// 8ec99652-8909-11d0-8c4d-00c04fc297eb
#define PST_CONFIGDATA_TYPE_GUID \
{ 0x8ec99652, \ 0x8909, \ 0x11d0, \ {0x8c, 0x4d, 0x00, 0xc0, 0x4f, 0xc2, 0x97, 0xeb} \ }
#define PST_PROTECTEDSTORAGE_SUBTYPE_STRING L"Protected Storage"
// d3121b8e-8a7d-11d0-8c4f-00c04fc297eb
#define PST_PROTECTEDSTORAGE_SUBTYPE_GUID \
{ 0xd3121b8e, \ 0x8a7d, \ 0x11d0, \ {0x8c, 0x4f, 0x00, 0xc0, 0x4f, 0xc2, 0x97, 0xeb} \ }
#define PST_PSTORE_PROVIDERS_SUBTYPE_STRING L"Protected Storage Provider List"
// 8ed17a64-91d0-11d0-8c43-00c04fc2c621
#define PST_PSTORE_PROVIDERS_SUBTYPE_GUID \
{ \ 0x8ed17a64, \ 0x91d0, \ 0x11d0, \ {0x8c, 0x43, 0x00, 0xc0, 0x4f, 0xc2, 0xc6, 0x21} \ }
//
// error codes
//
#ifndef PST_E_OK
#define PST_E_OK _HRESULT_TYPEDEF_(0x00000000L)
#define PST_E_FAIL _HRESULT_TYPEDEF_(0x800C0001L)
#define PST_E_PROV_DLL_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0002L)
#define PST_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x800C0003L)
#define PST_E_TYPE_EXISTS _HRESULT_TYPEDEF_(0x800C0004L)
#define PST_E_TYPE_NO_EXISTS _HRESULT_TYPEDEF_(0x800C0005L)
#define PST_E_INVALID_RULESET _HRESULT_TYPEDEF_(0x800C0006L)
#define PST_E_NO_PERMISSIONS _HRESULT_TYPEDEF_(0x800C0007L)
#define PST_E_STORAGE_ERROR _HRESULT_TYPEDEF_(0x800C0008L)
#define PST_E_CALLER_NOT_VERIFIED _HRESULT_TYPEDEF_(0x800C0009L)
#define PST_E_WRONG_PASSWORD _HRESULT_TYPEDEF_(0x800C000AL)
#define PST_E_DISK_IMAGE_MISMATCH _HRESULT_TYPEDEF_(0x800C000BL)
// 000C pending
#define PST_E_UNKNOWN_EXCEPTION _HRESULT_TYPEDEF_(0x800C000DL)
#define PST_E_BAD_FLAGS _HRESULT_TYPEDEF_(0x800C000EL)
#define PST_E_ITEM_EXISTS _HRESULT_TYPEDEF_(0x800C000FL)
#define PST_E_ITEM_NO_EXISTS _HRESULT_TYPEDEF_(0x800C0010L)
#define PST_E_SERVICE_UNAVAILABLE _HRESULT_TYPEDEF_(0x800C0011L)
#define PST_E_NOTEMPTY _HRESULT_TYPEDEF_(0x800C0012L)
#define PST_E_INVALID_STRING _HRESULT_TYPEDEF_(0x800C0013L)
#define PST_E_STATE_INVALID _HRESULT_TYPEDEF_(0x800C0014L)
#define PST_E_NOT_OPEN _HRESULT_TYPEDEF_(0x800C0015L)
#define PST_E_ALREADY_OPEN _HRESULT_TYPEDEF_(0x800C0016L)
#define PST_E_NYI _HRESULT_TYPEDEF_(0x800C0F00L)
#define MIN_PST_ERROR 0x800C0001
#define MAX_PST_ERROR 0x800C0F00
#endif // !PST_OK
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
//@@MIDL_FILE_HEADING( )
#include "rpc.h"
#include "rpcndr.h"
#ifdef __cplusplus
extern "C"{ #endif
/* Forward Declarations */
/* header files for imported files */ #include "wtypes.h"
void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t); void __RPC_USER MIDL_user_free( void __RPC_FAR * );
/****************************************
* Generated header for interface: __MIDL__intf_0000 * at Wed Apr 23 23:56:10 1997 * using MIDL 3.00.44 ****************************************/ /* [local] */
typedef DWORD PST_PROVIDERCAPABILITIES;
typedef DWORD PST_REPOSITORYCAPABILITIES;
typedef DWORD PST_KEY;
typedef DWORD PST_ACCESSMODE;
typedef DWORD PST_ACCESSCLAUSETYPE;
typedef GUID UUID;
typedef ULARGE_INTEGER PST_PROVIDER_HANDLE;
typedef GUID PST_PROVIDERID;
typedef PST_PROVIDERID __RPC_FAR *PPST_PROVIDERID;
typedef struct _PST_PROVIDERINFO { DWORD cbSize; PST_PROVIDERID ID; PST_PROVIDERCAPABILITIES Capabilities; LPWSTR szProviderName; } PST_PROVIDERINFO;
typedef struct _PST_PROVIDERINFO __RPC_FAR *PPST_PROVIDERINFO;
typedef struct _PST_TYPEINFO { DWORD cbSize; LPWSTR szDisplayName; } PST_TYPEINFO;
typedef struct _PST_TYPEINFO __RPC_FAR *PPST_TYPEINFO;
typedef struct _PST_PROMPTINFO { DWORD cbSize; DWORD dwPromptFlags; HWND hwndApp; LPCWSTR szPrompt; } PST_PROMPTINFO;
typedef struct _PST_PROMPTINFO __RPC_FAR *PPST_PROMPTINFO;
typedef struct _PST_ACCESSCLAUSE { DWORD cbSize; PST_ACCESSCLAUSETYPE ClauseType; DWORD cbClauseData; /* [size_is] */ VOID __RPC_FAR *pbClauseData; } PST_ACCESSCLAUSE;
typedef struct _PST_ACCESSCLAUSE __RPC_FAR *PPST_ACCESSCLAUSE;
typedef struct _PST_ACCESSRULE { DWORD cbSize; PST_ACCESSMODE AccessModeFlags; DWORD cClauses; /* [size_is] */ PST_ACCESSCLAUSE __RPC_FAR *rgClauses; } PST_ACCESSRULE;
typedef struct _PST_ACCESSRULE __RPC_FAR *PPST_ACCESSRULE;
typedef struct _PST_ACCESSRULESET { DWORD cbSize; DWORD cRules; /* [size_is] */ PST_ACCESSRULE __RPC_FAR *rgRules; } PST_ACCESSRULESET;
typedef struct _PST_ACCESSRULESET __RPC_FAR *PPST_ACCESSRULESET;
typedef struct _PST_AUTHENTICODEDATA { DWORD cbSize; DWORD dwModifiers; LPCWSTR szRootCA; LPCWSTR szIssuer; LPCWSTR szPublisher; LPCWSTR szProgramName; } PST_AUTHENTICODEDATA;
typedef struct _PST_AUTHENTICODEDATA __RPC_FAR *PPST_AUTHENTICODEDATA;
typedef struct _PST_AUTHENTICODEDATA __RPC_FAR *LPPST_AUTHENTICODEDATA;
typedef struct _PST_BINARYCHECKDATA { DWORD cbSize; DWORD dwModifiers; LPCWSTR szFilePath; } PST_BINARYCHECKDATA;
typedef struct _PST_BINARYCHECKDATA __RPC_FAR *PPST_BINARYCHECKDATA;
typedef struct _PST_BINARYCHECKDATA __RPC_FAR *LPPST_BINARYCHECKDATA;
extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
} #endif
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 3.00.44 */ /* at Wed Apr 23 23:56:14 1997
*/ /* Compiler settings for pstorec.idl:
Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext error checks: none */ //@@MIDL_FILE_HEADING( )
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifdef __cplusplus
extern "C"{ #endif
/* Forward Declarations */
#ifndef __IEnumPStoreItems_FWD_DEFINED__
#define __IEnumPStoreItems_FWD_DEFINED__
typedef interface IEnumPStoreItems IEnumPStoreItems; #endif /* __IEnumPStoreItems_FWD_DEFINED__ */
#ifndef __IEnumPStoreTypes_FWD_DEFINED__
#define __IEnumPStoreTypes_FWD_DEFINED__
typedef interface IEnumPStoreTypes IEnumPStoreTypes; #endif /* __IEnumPStoreTypes_FWD_DEFINED__ */
#ifndef __IPStore_FWD_DEFINED__
#define __IPStore_FWD_DEFINED__
typedef interface IPStore IPStore; #endif /* __IPStore_FWD_DEFINED__ */
#ifndef __IEnumPStoreProviders_FWD_DEFINED__
#define __IEnumPStoreProviders_FWD_DEFINED__
typedef interface IEnumPStoreProviders IEnumPStoreProviders; #endif /* __IEnumPStoreProviders_FWD_DEFINED__ */
/* header files for imported files */ #include "oaidl.h"
void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t); void __RPC_USER MIDL_user_free( void __RPC_FAR * );
#ifndef __IEnumPStoreItems_INTERFACE_DEFINED__
#define __IEnumPStoreItems_INTERFACE_DEFINED__
/****************************************
* Generated header for interface: IEnumPStoreItems * at Wed Apr 23 23:56:14 1997 * using MIDL 3.00.44 ****************************************/ /* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IEnumPStoreItems;
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IEnumPStoreItems : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ DWORD celt, /* [out] */ LPWSTR __RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ DWORD celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum) = 0;
};
#else /* C style interface */
typedef struct IEnumPStoreItemsVtbl { BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( IEnumPStoreItems __RPC_FAR * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( IEnumPStoreItems __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( IEnumPStoreItems __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( IEnumPStoreItems __RPC_FAR * This, /* [in] */ DWORD celt, /* [out] */ LPWSTR __RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( IEnumPStoreItems __RPC_FAR * This, /* [in] */ DWORD celt);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( IEnumPStoreItems __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( IEnumPStoreItems __RPC_FAR * This, /* [out] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
END_INTERFACE } IEnumPStoreItemsVtbl;
interface IEnumPStoreItems { CONST_VTBL struct IEnumPStoreItemsVtbl __RPC_FAR *lpVtbl; };
#ifdef COBJMACROS
#define IEnumPStoreItems_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IEnumPStoreItems_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IEnumPStoreItems_Release(This) \
(This)->lpVtbl -> Release(This)
#define IEnumPStoreItems_Next(This,celt,rgelt,pceltFetched) \
(This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
#define IEnumPStoreItems_Skip(This,celt) \
(This)->lpVtbl -> Skip(This,celt)
#define IEnumPStoreItems_Reset(This) \
(This)->lpVtbl -> Reset(This)
#define IEnumPStoreItems_Clone(This,ppenum) \
(This)->lpVtbl -> Clone(This,ppenum)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Next_Proxy( IEnumPStoreItems __RPC_FAR * This, /* [in] */ DWORD celt, /* [out] */ LPWSTR __RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
void __RPC_STUB IEnumPStoreItems_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Skip_Proxy( IEnumPStoreItems __RPC_FAR * This, /* [in] */ DWORD celt);
void __RPC_STUB IEnumPStoreItems_Skip_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Reset_Proxy( IEnumPStoreItems __RPC_FAR * This);
void __RPC_STUB IEnumPStoreItems_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreItems_Clone_Proxy( IEnumPStoreItems __RPC_FAR * This, /* [out] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
void __RPC_STUB IEnumPStoreItems_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
#endif /* __IEnumPStoreItems_INTERFACE_DEFINED__ */
#ifndef __IEnumPStoreTypes_INTERFACE_DEFINED__
#define __IEnumPStoreTypes_INTERFACE_DEFINED__
/****************************************
* Generated header for interface: IEnumPStoreTypes * at Wed Apr 23 23:56:14 1997 * using MIDL 3.00.44 ****************************************/ /* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IEnumPStoreTypes;
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IEnumPStoreTypes : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ DWORD celt, /* [out][size_is] */ GUID __RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ DWORD celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0;
};
#else /* C style interface */
typedef struct IEnumPStoreTypesVtbl { BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( IEnumPStoreTypes __RPC_FAR * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( IEnumPStoreTypes __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( IEnumPStoreTypes __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( IEnumPStoreTypes __RPC_FAR * This, /* [in] */ DWORD celt, /* [out][size_is] */ GUID __RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( IEnumPStoreTypes __RPC_FAR * This, /* [in] */ DWORD celt);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( IEnumPStoreTypes __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( IEnumPStoreTypes __RPC_FAR * This, /* [out] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
END_INTERFACE } IEnumPStoreTypesVtbl;
interface IEnumPStoreTypes { CONST_VTBL struct IEnumPStoreTypesVtbl __RPC_FAR *lpVtbl; };
#ifdef COBJMACROS
#define IEnumPStoreTypes_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IEnumPStoreTypes_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IEnumPStoreTypes_Release(This) \
(This)->lpVtbl -> Release(This)
#define IEnumPStoreTypes_Next(This,celt,rgelt,pceltFetched) \
(This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
#define IEnumPStoreTypes_Skip(This,celt) \
(This)->lpVtbl -> Skip(This,celt)
#define IEnumPStoreTypes_Reset(This) \
(This)->lpVtbl -> Reset(This)
#define IEnumPStoreTypes_Clone(This,ppenum) \
(This)->lpVtbl -> Clone(This,ppenum)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Next_Proxy( IEnumPStoreTypes __RPC_FAR * This, /* [in] */ DWORD celt, /* [out][size_is] */ GUID __RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
void __RPC_STUB IEnumPStoreTypes_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Skip_Proxy( IEnumPStoreTypes __RPC_FAR * This, /* [in] */ DWORD celt);
void __RPC_STUB IEnumPStoreTypes_Skip_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Reset_Proxy( IEnumPStoreTypes __RPC_FAR * This);
void __RPC_STUB IEnumPStoreTypes_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreTypes_Clone_Proxy( IEnumPStoreTypes __RPC_FAR * This, /* [out] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
void __RPC_STUB IEnumPStoreTypes_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
#endif /* __IEnumPStoreTypes_INTERFACE_DEFINED__ */
#ifndef __IPStore_INTERFACE_DEFINED__
#define __IPStore_INTERFACE_DEFINED__
/****************************************
* Generated header for interface: IPStore * at Wed Apr 23 23:56:14 1997 * using MIDL 3.00.44 ****************************************/ /* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IPStore;
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IPStore : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetInfo( /* [out] */ PPST_PROVIDERINFO __RPC_FAR *ppProperties) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProvParam( /* [in] */ DWORD dwParam, /* [out] */ DWORD __RPC_FAR *pcbData, /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProvParam( /* [in] */ DWORD dwParam, /* [in] */ DWORD cbData, /* [size_is][in] */ BYTE __RPC_FAR *pbData, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateType( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ PPST_TYPEINFO pInfo, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteType( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateSubtype( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ PPST_TYPEINFO pInfo, /* [in] */ PPST_ACCESSRULESET pRules, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSubtypeInfo( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteSubtype( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadAccessRuleset( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [out] */ PPST_ACCESSRULESET __RPC_FAR *ppRules, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteAccessRuleset( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ PPST_ACCESSRULESET pRules, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumTypes( /* [in] */ PST_KEY Key, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumSubtypes( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteItem( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadItem( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [out] */ DWORD __RPC_FAR *pcbData, /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteItem( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ DWORD cbData, /* [size_is][in] */ BYTE __RPC_FAR *pbData, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwDefaultConfirmationStyle, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenItem( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ PST_ACCESSMODE ModeFlags, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE CloseItem( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumItems( /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum) = 0;
};
#else /* C style interface */
typedef struct IPStoreVtbl { BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( IPStore __RPC_FAR * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( IPStore __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( IPStore __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInfo )( IPStore __RPC_FAR * This, /* [out] */ PPST_PROVIDERINFO __RPC_FAR *ppProperties);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProvParam )( IPStore __RPC_FAR * This, /* [in] */ DWORD dwParam, /* [out] */ DWORD __RPC_FAR *pcbData, /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProvParam )( IPStore __RPC_FAR * This, /* [in] */ DWORD dwParam, /* [in] */ DWORD cbData, /* [size_is][in] */ BYTE __RPC_FAR *pbData, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateType )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ PPST_TYPEINFO pInfo, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteType )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSubtype )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ PPST_TYPEINFO pInfo, /* [in] */ PPST_ACCESSRULESET pRules, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSubtypeInfo )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteSubtype )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadAccessRuleset )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [out] */ PPST_ACCESSRULESET __RPC_FAR *ppRules, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteAccessRuleset )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ PPST_ACCESSRULESET pRules, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumTypes )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumSubtypes )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteItem )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadItem )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [out] */ DWORD __RPC_FAR *pcbData, /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteItem )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ DWORD cbData, /* [size_is][in] */ BYTE __RPC_FAR *pbData, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwDefaultConfirmationStyle, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenItem )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ PST_ACCESSMODE ModeFlags, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseItem )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ DWORD dwFlags);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumItems )( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
END_INTERFACE } IPStoreVtbl;
interface IPStore { CONST_VTBL struct IPStoreVtbl __RPC_FAR *lpVtbl; };
#ifdef COBJMACROS
#define IPStore_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IPStore_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IPStore_Release(This) \
(This)->lpVtbl -> Release(This)
#define IPStore_GetInfo(This,ppProperties) \
(This)->lpVtbl -> GetInfo(This,ppProperties)
#define IPStore_GetProvParam(This,dwParam,pcbData,ppbData,dwFlags) \
(This)->lpVtbl -> GetProvParam(This,dwParam,pcbData,ppbData,dwFlags)
#define IPStore_SetProvParam(This,dwParam,cbData,pbData,dwFlags) \
(This)->lpVtbl -> SetProvParam(This,dwParam,cbData,pbData,dwFlags)
#define IPStore_CreateType(This,Key,pType,pInfo,dwFlags) \
(This)->lpVtbl -> CreateType(This,Key,pType,pInfo,dwFlags)
#define IPStore_GetTypeInfo(This,Key,pType,ppInfo,dwFlags) \
(This)->lpVtbl -> GetTypeInfo(This,Key,pType,ppInfo,dwFlags)
#define IPStore_DeleteType(This,Key,pType,dwFlags) \
(This)->lpVtbl -> DeleteType(This,Key,pType,dwFlags)
#define IPStore_CreateSubtype(This,Key,pType,pSubtype,pInfo,pRules,dwFlags) \
(This)->lpVtbl -> CreateSubtype(This,Key,pType,pSubtype,pInfo,pRules,dwFlags)
#define IPStore_GetSubtypeInfo(This,Key,pType,pSubtype,ppInfo,dwFlags) \
(This)->lpVtbl -> GetSubtypeInfo(This,Key,pType,pSubtype,ppInfo,dwFlags)
#define IPStore_DeleteSubtype(This,Key,pType,pSubtype,dwFlags) \
(This)->lpVtbl -> DeleteSubtype(This,Key,pType,pSubtype,dwFlags)
#define IPStore_ReadAccessRuleset(This,Key,pType,pSubtype,ppRules,dwFlags) \
(This)->lpVtbl -> ReadAccessRuleset(This,Key,pType,pSubtype,ppRules,dwFlags)
#define IPStore_WriteAccessRuleset(This,Key,pType,pSubtype,pRules,dwFlags) \
(This)->lpVtbl -> WriteAccessRuleset(This,Key,pType,pSubtype,pRules,dwFlags)
#define IPStore_EnumTypes(This,Key,dwFlags,ppenum) \
(This)->lpVtbl -> EnumTypes(This,Key,dwFlags,ppenum)
#define IPStore_EnumSubtypes(This,Key,pType,dwFlags,ppenum) \
(This)->lpVtbl -> EnumSubtypes(This,Key,pType,dwFlags,ppenum)
#define IPStore_DeleteItem(This,Key,pItemType,pItemSubtype,szItemName,pPromptInfo,dwFlags) \
(This)->lpVtbl -> DeleteItem(This,Key,pItemType,pItemSubtype,szItemName,pPromptInfo,dwFlags)
#define IPStore_ReadItem(This,Key,pItemType,pItemSubtype,szItemName,pcbData,ppbData,pPromptInfo,dwFlags) \
(This)->lpVtbl -> ReadItem(This,Key,pItemType,pItemSubtype,szItemName,pcbData,ppbData,pPromptInfo,dwFlags)
#define IPStore_WriteItem(This,Key,pItemType,pItemSubtype,szItemName,cbData,pbData,pPromptInfo,dwDefaultConfirmationStyle,dwFlags) \
(This)->lpVtbl -> WriteItem(This,Key,pItemType,pItemSubtype,szItemName,cbData,pbData,pPromptInfo,dwDefaultConfirmationStyle,dwFlags)
#define IPStore_OpenItem(This,Key,pItemType,pItemSubtype,szItemName,ModeFlags,pPromptInfo,dwFlags) \
(This)->lpVtbl -> OpenItem(This,Key,pItemType,pItemSubtype,szItemName,ModeFlags,pPromptInfo,dwFlags)
#define IPStore_CloseItem(This,Key,pItemType,pItemSubtype,szItemName,dwFlags) \
(This)->lpVtbl -> CloseItem(This,Key,pItemType,pItemSubtype,szItemName,dwFlags)
#define IPStore_EnumItems(This,Key,pItemType,pItemSubtype,dwFlags,ppenum) \
(This)->lpVtbl -> EnumItems(This,Key,pItemType,pItemSubtype,dwFlags,ppenum)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IPStore_GetInfo_Proxy( IPStore __RPC_FAR * This, /* [out] */ PPST_PROVIDERINFO __RPC_FAR *ppProperties);
void __RPC_STUB IPStore_GetInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_GetProvParam_Proxy( IPStore __RPC_FAR * This, /* [in] */ DWORD dwParam, /* [out] */ DWORD __RPC_FAR *pcbData, /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_GetProvParam_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_SetProvParam_Proxy( IPStore __RPC_FAR * This, /* [in] */ DWORD dwParam, /* [in] */ DWORD cbData, /* [size_is][in] */ BYTE __RPC_FAR *pbData, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_SetProvParam_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_CreateType_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ PPST_TYPEINFO pInfo, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_CreateType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_GetTypeInfo_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_GetTypeInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_DeleteType_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_DeleteType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_CreateSubtype_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ PPST_TYPEINFO pInfo, /* [in] */ PPST_ACCESSRULESET pRules, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_CreateSubtype_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_GetSubtypeInfo_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [out] */ PPST_TYPEINFO __RPC_FAR *ppInfo, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_GetSubtypeInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_DeleteSubtype_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_DeleteSubtype_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_ReadAccessRuleset_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [out] */ PPST_ACCESSRULESET __RPC_FAR *ppRules, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_ReadAccessRuleset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_WriteAccessRuleset_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ const GUID __RPC_FAR *pSubtype, /* [in] */ PPST_ACCESSRULESET pRules, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_WriteAccessRuleset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_EnumTypes_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
void __RPC_STUB IPStore_EnumTypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_EnumSubtypes_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pType, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreTypes __RPC_FAR *__RPC_FAR *ppenum);
void __RPC_STUB IPStore_EnumSubtypes_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_DeleteItem_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_DeleteItem_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_ReadItem_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [out] */ DWORD __RPC_FAR *pcbData, /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppbData, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_ReadItem_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_WriteItem_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ DWORD cbData, /* [size_is][in] */ BYTE __RPC_FAR *pbData, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwDefaultConfirmationStyle, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_WriteItem_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_OpenItem_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ PST_ACCESSMODE ModeFlags, /* [in] */ PPST_PROMPTINFO pPromptInfo, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_OpenItem_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_CloseItem_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ LPCWSTR szItemName, /* [in] */ DWORD dwFlags);
void __RPC_STUB IPStore_CloseItem_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPStore_EnumItems_Proxy( IPStore __RPC_FAR * This, /* [in] */ PST_KEY Key, /* [in] */ const GUID __RPC_FAR *pItemType, /* [in] */ const GUID __RPC_FAR *pItemSubtype, /* [in] */ DWORD dwFlags, /* [in] */ IEnumPStoreItems __RPC_FAR *__RPC_FAR *ppenum);
void __RPC_STUB IPStore_EnumItems_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
#endif /* __IPStore_INTERFACE_DEFINED__ */
#ifndef __IEnumPStoreProviders_INTERFACE_DEFINED__
#define __IEnumPStoreProviders_INTERFACE_DEFINED__
/****************************************
* Generated header for interface: IEnumPStoreProviders * at Wed Apr 23 23:56:14 1997 * using MIDL 3.00.44 ****************************************/ /* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IEnumPStoreProviders;
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IEnumPStoreProviders : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Next( /* [in] */ DWORD celt, /* [out][size_is] */ PST_PROVIDERINFO __RPC_FAR *__RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched) = 0;
virtual HRESULT STDMETHODCALLTYPE Skip( /* [in] */ DWORD celt) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone( /* [out] */ IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum) = 0;
};
#else /* C style interface */
typedef struct IEnumPStoreProvidersVtbl { BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( IEnumPStoreProviders __RPC_FAR * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( IEnumPStoreProviders __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( IEnumPStoreProviders __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( IEnumPStoreProviders __RPC_FAR * This, /* [in] */ DWORD celt, /* [out][size_is] */ PST_PROVIDERINFO __RPC_FAR *__RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( IEnumPStoreProviders __RPC_FAR * This, /* [in] */ DWORD celt);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( IEnumPStoreProviders __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( IEnumPStoreProviders __RPC_FAR * This, /* [out] */ IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum);
END_INTERFACE } IEnumPStoreProvidersVtbl;
interface IEnumPStoreProviders { CONST_VTBL struct IEnumPStoreProvidersVtbl __RPC_FAR *lpVtbl; };
#ifdef COBJMACROS
#define IEnumPStoreProviders_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IEnumPStoreProviders_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IEnumPStoreProviders_Release(This) \
(This)->lpVtbl -> Release(This)
#define IEnumPStoreProviders_Next(This,celt,rgelt,pceltFetched) \
(This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
#define IEnumPStoreProviders_Skip(This,celt) \
(This)->lpVtbl -> Skip(This,celt)
#define IEnumPStoreProviders_Reset(This) \
(This)->lpVtbl -> Reset(This)
#define IEnumPStoreProviders_Clone(This,ppenum) \
(This)->lpVtbl -> Clone(This,ppenum)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Next_Proxy( IEnumPStoreProviders __RPC_FAR * This, /* [in] */ DWORD celt, /* [out][size_is] */ PST_PROVIDERINFO __RPC_FAR *__RPC_FAR *rgelt, /* [out][in] */ DWORD __RPC_FAR *pceltFetched);
void __RPC_STUB IEnumPStoreProviders_Next_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Skip_Proxy( IEnumPStoreProviders __RPC_FAR * This, /* [in] */ DWORD celt);
void __RPC_STUB IEnumPStoreProviders_Skip_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Reset_Proxy( IEnumPStoreProviders __RPC_FAR * This);
void __RPC_STUB IEnumPStoreProviders_Reset_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IEnumPStoreProviders_Clone_Proxy( IEnumPStoreProviders __RPC_FAR * This, /* [out] */ IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum);
void __RPC_STUB IEnumPStoreProviders_Clone_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
#endif /* __IEnumPStoreProviders_INTERFACE_DEFINED__ */
#ifndef __PSTORECLib_LIBRARY_DEFINED__
#define __PSTORECLib_LIBRARY_DEFINED__
/****************************************
* Generated header for library: PSTORECLib * at Wed Apr 23 23:56:14 1997 * using MIDL 3.00.44 ****************************************/ /* [helpstring][version][uuid] */
EXTERN_C const IID LIBID_PSTORECLib;
#ifdef __cplusplus
EXTERN_C const CLSID CLSID_CPStore;
class CPStore; #endif
#ifdef __cplusplus
EXTERN_C const CLSID CLSID_CEnumTypes;
class CEnumTypes; #endif
#ifdef __cplusplus
EXTERN_C const CLSID CLSID_CEnumItems;
class CEnumItems; #endif
#endif /* __PSTORECLib_LIBRARY_DEFINED__ */
/****************************************
* Generated header for interface: __MIDL__intf_0080 * at Wed Apr 23 23:56:14 1997 * using MIDL 3.00.44 ****************************************/ /* [local] */
HRESULT __stdcall PStoreCreateInstance( IPStore __RPC_FAR *__RPC_FAR *ppProvider, PST_PROVIDERID __RPC_FAR *pProviderID, void __RPC_FAR *pReserved, DWORD dwFlags);
HRESULT __stdcall PStoreEnumProviders( DWORD dwFlags, IEnumPStoreProviders __RPC_FAR *__RPC_FAR *ppenum);
extern RPC_IF_HANDLE __MIDL__intf_0080_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL__intf_0080_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
} #endif
#endif // PSTORE_H
|