Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

1761 lines
51 KiB

/*++
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