1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16 
17 #ifndef COM_NO_WINDOWS_H
18 #include "windows.h"
19 #include "ole2.h"
20 #endif
21 
22 #ifndef __iadmw_h__
23 #define __iadmw_h__
24 
25 #ifndef __IMSAdminBaseW_FWD_DEFINED__
26 #define __IMSAdminBaseW_FWD_DEFINED__
27 typedef struct IMSAdminBaseW IMSAdminBaseW;
28 #endif
29 
30 #ifndef __IMSAdminBase2W_FWD_DEFINED__
31 #define __IMSAdminBase2W_FWD_DEFINED__
32 typedef struct IMSAdminBase2W IMSAdminBase2W;
33 #endif
34 
35 #ifndef __IMSAdminBase3W_FWD_DEFINED__
36 #define __IMSAdminBase3W_FWD_DEFINED__
37 typedef struct IMSAdminBase3W IMSAdminBase3W;
38 #endif
39 
40 #ifndef __IMSImpExpHelpW_FWD_DEFINED__
41 #define __IMSImpExpHelpW_FWD_DEFINED__
42 typedef struct IMSImpExpHelpW IMSImpExpHelpW;
43 #endif
44 
45 #ifndef __IMSAdminBaseSinkW_FWD_DEFINED__
46 #define __IMSAdminBaseSinkW_FWD_DEFINED__
47 typedef struct IMSAdminBaseSinkW IMSAdminBaseSinkW;
48 #endif
49 
50 #ifndef __AsyncIMSAdminBaseSinkW_FWD_DEFINED__
51 #define __AsyncIMSAdminBaseSinkW_FWD_DEFINED__
52 typedef struct AsyncIMSAdminBaseSinkW AsyncIMSAdminBaseSinkW;
53 #endif
54 
55 #include "mddefw.h"
56 #include "objidl.h"
57 #include "ocidl.h"
58 
59 #ifdef __cplusplus
60 extern "C"{
61 #endif
62 
63 #ifndef __MIDL_user_allocate_free_DEFINED__
64 #define __MIDL_user_allocate_free_DEFINED__
65   void *__RPC_API MIDL_user_allocate(size_t);
66   void __RPC_API MIDL_user_free(void *);
67 #endif
68 
69 #ifndef _ADM_IADMW_
70 #define _ADM_IADMW_
71 #include <mdcommsg.h>
72 #include <mdmsg.h>
73 
74 #define ADMINDATA_MAX_NAME_LEN 256
75 
76 #define CLSID_MSAdminBase CLSID_MSAdminBase_W
77 #define IID_IMSAdminBase IID_IMSAdminBase_W
78 #define IMSAdminBase IMSAdminBaseW
79 #define IID_IMSAdminBase2 IID_IMSAdminBase2_W
80 #define IMSAdminBase2 IMSAdminBase2W
81 #define IID_IMSAdminBase3 IID_IMSAdminBase3_W
82 #define IMSAdminBase3 IMSAdminBase3W
83 #define IMSAdminBaseSink IMSAdminBaseSinkW
84 #define IID_IMSAdminBaseSink IID_IMSAdminBaseSink_W
85 #define IMSImpExpHelp IMSImpExpHelpW
86 #define IID_IMSImpExpHelp IID_IMSImpExpHelp_W
87 #define GETAdminBaseCLSID GETAdminBaseCLSIDW
88 
89 #define AsyncIMSAdminBaseSink AsyncIMSAdminBaseSinkW
90 #define IID_AsyncIMSAdminBaseSink IID_AsyncIMSAdminBaseSink_W
91   DEFINE_GUID(CLSID_MSAdminBase_W,0xa9e69610,0xb80d,0x11d0,0xb9,0xb9,0x0,0xa0,0xc9,0x22,0xe7,0x50);
92   DEFINE_GUID(IID_IMSAdminBase_W,0x70b51430,0xb6ca,0x11d0,0xb9,0xb9,0x0,0xa0,0xc9,0x22,0xe7,0x50);
93   DEFINE_GUID(IID_IMSAdminBase2_W,0x8298d101,0xf992,0x43b7,0x8e,0xca,0x50,0x52,0xd8,0x85,0xb9,0x95);
94   DEFINE_GUID(IID_IMSAdminBase3_W,0xf612954d,0x3b0b,0x4c56,0x95,0x63,0x22,0x7b,0x7b,0xe6,0x24,0xb4);
95   DEFINE_GUID(IID_IMSImpExpHelp_W,0x29ff67ff,0x8050,0x480f,0x9f,0x30,0xcc,0x41,0x63,0x5f,0x2f,0x9d);
96   DEFINE_GUID(IID_IMSAdminBaseSink_W,0xa9e69612,0xb80d,0x11d0,0xb9,0xb9,0x0,0xa0,0xc9,0x22,0xe7,0x50);
97   DEFINE_GUID(IID_AsyncIMSAdminBaseSink_W,0xa9e69613,0xb80d,0x11d0,0xb9,0xb9,0x0,0xa0,0xc9,0x22,0xe7,0x50);
98   DEFINE_GUID(IID_IMSAdminBaseSinkNoAsyncCallback,0x41704d5c,0x75a0,0x4d0e,0xae,0x3f,0x80,0xa5,0xfc,0x4c,0xf6,0x53);
99 #define GETAdminBaseCLSIDW(IsService) CLSID_MSAdminBase_W
100 
101   extern RPC_IF_HANDLE __MIDL_itf_iadmw_0000_v0_0_c_ifspec;
102   extern RPC_IF_HANDLE __MIDL_itf_iadmw_0000_v0_0_s_ifspec;
103 
104 #ifndef __IMSAdminBaseW_INTERFACE_DEFINED__
105 #define __IMSAdminBaseW_INTERFACE_DEFINED__
106   EXTERN_C const IID IID_IMSAdminBaseW;
107 #if defined(__cplusplus) && !defined(CINTERFACE)
108   struct IMSAdminBaseW : public IUnknown {
109   public:
110     virtual HRESULT WINAPI AddKey(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath) = 0;
111     virtual HRESULT WINAPI DeleteKey(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath) = 0;
112     virtual HRESULT WINAPI DeleteChildKeys(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath) = 0;
113     virtual HRESULT WINAPI EnumKeys(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPWSTR pszMDName,DWORD dwMDEnumObjectIndex) = 0;
114     virtual HRESULT WINAPI CopyKey(METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,WINBOOL bMDOverwriteFlag,WINBOOL bMDCopyFlag) = 0;
115     virtual HRESULT WINAPI RenameKey(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPCWSTR pszMDNewName) = 0;
116     virtual HRESULT WINAPI SetData(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData) = 0;
117     virtual HRESULT WINAPI GetData(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD *pdwMDRequiredDataLen) = 0;
118     virtual HRESULT WINAPI DeleteData(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType) = 0;
119     virtual HRESULT WINAPI EnumData(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD dwMDEnumDataIndex,DWORD *pdwMDRequiredDataLen) = 0;
120     virtual HRESULT WINAPI GetAllData(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,DWORD *pdwMDNumDataEntries,DWORD *pdwMDDataSetNumber,DWORD dwMDBufferSize,unsigned char *pbMDBuffer,DWORD *pdwMDRequiredBufferSize) = 0;
121     virtual HRESULT WINAPI DeleteAllData(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDUserType,DWORD dwMDDataType) = 0;
122     virtual HRESULT WINAPI CopyData(METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,WINBOOL bMDCopyFlag) = 0;
123     virtual HRESULT WINAPI GetDataPaths(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize) = 0;
124     virtual HRESULT WINAPI OpenKey(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAccessRequested,DWORD dwMDTimeOut,PMETADATA_HANDLE phMDNewHandle) = 0;
125     virtual HRESULT WINAPI CloseKey(METADATA_HANDLE hMDHandle) = 0;
126     virtual HRESULT WINAPI ChangePermissions(METADATA_HANDLE hMDHandle,DWORD dwMDTimeOut,DWORD dwMDAccessRequested) = 0;
127     virtual HRESULT WINAPI SaveData(void) = 0;
128     virtual HRESULT WINAPI GetHandleInfo(METADATA_HANDLE hMDHandle,PMETADATA_HANDLE_INFO pmdhiInfo) = 0;
129     virtual HRESULT WINAPI GetSystemChangeNumber(DWORD *pdwSystemChangeNumber) = 0;
130     virtual HRESULT WINAPI GetDataSetNumber(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD *pdwMDDataSetNumber) = 0;
131     virtual HRESULT WINAPI SetLastChangeTime(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime) = 0;
132     virtual HRESULT WINAPI GetLastChangeTime(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime) = 0;
133     virtual HRESULT WINAPI KeyExchangePhase1(void) = 0;
134     virtual HRESULT WINAPI KeyExchangePhase2(void) = 0;
135     virtual HRESULT WINAPI Backup(LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags) = 0;
136     virtual HRESULT WINAPI Restore(LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags) = 0;
137     virtual HRESULT WINAPI EnumBackups(LPWSTR pszMDBackupLocation,DWORD *pdwMDVersion,PFILETIME pftMDBackupTime,DWORD dwMDEnumIndex) = 0;
138     virtual HRESULT WINAPI DeleteBackup(LPCWSTR pszMDBackupLocation,DWORD dwMDVersion) = 0;
139     virtual HRESULT WINAPI UnmarshalInterface(IMSAdminBaseW **piadmbwInterface) = 0;
140     virtual HRESULT WINAPI GetServerGuid(void) = 0;
141   };
142 #else
143   typedef struct IMSAdminBaseWVtbl {
144     BEGIN_INTERFACE
145       HRESULT (WINAPI *QueryInterface)(IMSAdminBaseW *This,REFIID riid,void **ppvObject);
146       ULONG (WINAPI *AddRef)(IMSAdminBaseW *This);
147       ULONG (WINAPI *Release)(IMSAdminBaseW *This);
148       HRESULT (WINAPI *AddKey)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
149       HRESULT (WINAPI *DeleteKey)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
150       HRESULT (WINAPI *DeleteChildKeys)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
151       HRESULT (WINAPI *EnumKeys)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPWSTR pszMDName,DWORD dwMDEnumObjectIndex);
152       HRESULT (WINAPI *CopyKey)(IMSAdminBaseW *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,WINBOOL bMDOverwriteFlag,WINBOOL bMDCopyFlag);
153       HRESULT (WINAPI *RenameKey)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPCWSTR pszMDNewName);
154       HRESULT (WINAPI *SetData)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData);
155       HRESULT (WINAPI *GetData)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD *pdwMDRequiredDataLen);
156       HRESULT (WINAPI *DeleteData)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType);
157       HRESULT (WINAPI *EnumData)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD dwMDEnumDataIndex,DWORD *pdwMDRequiredDataLen);
158       HRESULT (WINAPI *GetAllData)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,DWORD *pdwMDNumDataEntries,DWORD *pdwMDDataSetNumber,DWORD dwMDBufferSize,unsigned char *pbMDBuffer,DWORD *pdwMDRequiredBufferSize);
159       HRESULT (WINAPI *DeleteAllData)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDUserType,DWORD dwMDDataType);
160       HRESULT (WINAPI *CopyData)(IMSAdminBaseW *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,WINBOOL bMDCopyFlag);
161       HRESULT (WINAPI *GetDataPaths)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize);
162       HRESULT (WINAPI *OpenKey)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAccessRequested,DWORD dwMDTimeOut,PMETADATA_HANDLE phMDNewHandle);
163       HRESULT (WINAPI *CloseKey)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle);
164       HRESULT (WINAPI *ChangePermissions)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,DWORD dwMDTimeOut,DWORD dwMDAccessRequested);
165       HRESULT (WINAPI *SaveData)(IMSAdminBaseW *This);
166       HRESULT (WINAPI *GetHandleInfo)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,PMETADATA_HANDLE_INFO pmdhiInfo);
167       HRESULT (WINAPI *GetSystemChangeNumber)(IMSAdminBaseW *This,DWORD *pdwSystemChangeNumber);
168       HRESULT (WINAPI *GetDataSetNumber)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD *pdwMDDataSetNumber);
169       HRESULT (WINAPI *SetLastChangeTime)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
170       HRESULT (WINAPI *GetLastChangeTime)(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
171       HRESULT (WINAPI *KeyExchangePhase1)(IMSAdminBaseW *This);
172       HRESULT (WINAPI *KeyExchangePhase2)(IMSAdminBaseW *This);
173       HRESULT (WINAPI *Backup)(IMSAdminBaseW *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
174       HRESULT (WINAPI *Restore)(IMSAdminBaseW *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
175       HRESULT (WINAPI *EnumBackups)(IMSAdminBaseW *This,LPWSTR pszMDBackupLocation,DWORD *pdwMDVersion,PFILETIME pftMDBackupTime,DWORD dwMDEnumIndex);
176       HRESULT (WINAPI *DeleteBackup)(IMSAdminBaseW *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion);
177       HRESULT (WINAPI *UnmarshalInterface)(IMSAdminBaseW *This,IMSAdminBaseW **piadmbwInterface);
178       HRESULT (WINAPI *GetServerGuid)(IMSAdminBaseW *This);
179     END_INTERFACE
180   } IMSAdminBaseWVtbl;
181   struct IMSAdminBaseW {
182     CONST_VTBL struct IMSAdminBaseWVtbl *lpVtbl;
183   };
184 #ifdef COBJMACROS
185 #define IMSAdminBaseW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
186 #define IMSAdminBaseW_AddRef(This) (This)->lpVtbl->AddRef(This)
187 #define IMSAdminBaseW_Release(This) (This)->lpVtbl->Release(This)
188 #define IMSAdminBaseW_AddKey(This,hMDHandle,pszMDPath) (This)->lpVtbl->AddKey(This,hMDHandle,pszMDPath)
189 #define IMSAdminBaseW_DeleteKey(This,hMDHandle,pszMDPath) (This)->lpVtbl->DeleteKey(This,hMDHandle,pszMDPath)
190 #define IMSAdminBaseW_DeleteChildKeys(This,hMDHandle,pszMDPath) (This)->lpVtbl->DeleteChildKeys(This,hMDHandle,pszMDPath)
191 #define IMSAdminBaseW_EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex) (This)->lpVtbl->EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)
192 #define IMSAdminBaseW_CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag) (This)->lpVtbl->CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)
193 #define IMSAdminBaseW_RenameKey(This,hMDHandle,pszMDPath,pszMDNewName) (This)->lpVtbl->RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)
194 #define IMSAdminBaseW_SetData(This,hMDHandle,pszMDPath,pmdrMDData) (This)->lpVtbl->SetData(This,hMDHandle,pszMDPath,pmdrMDData)
195 #define IMSAdminBaseW_GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen) (This)->lpVtbl->GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)
196 #define IMSAdminBaseW_DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType) (This)->lpVtbl->DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)
197 #define IMSAdminBaseW_EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen) (This)->lpVtbl->EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)
198 #define IMSAdminBaseW_GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize) (This)->lpVtbl->GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)
199 #define IMSAdminBaseW_DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType) (This)->lpVtbl->DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)
200 #define IMSAdminBaseW_CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag) (This)->lpVtbl->CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)
201 #define IMSAdminBaseW_GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) (This)->lpVtbl->GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
202 #define IMSAdminBaseW_OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle) (This)->lpVtbl->OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)
203 #define IMSAdminBaseW_CloseKey(This,hMDHandle) (This)->lpVtbl->CloseKey(This,hMDHandle)
204 #define IMSAdminBaseW_ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested) (This)->lpVtbl->ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)
205 #define IMSAdminBaseW_SaveData(This) (This)->lpVtbl->SaveData(This)
206 #define IMSAdminBaseW_GetHandleInfo(This,hMDHandle,pmdhiInfo) (This)->lpVtbl->GetHandleInfo(This,hMDHandle,pmdhiInfo)
207 #define IMSAdminBaseW_GetSystemChangeNumber(This,pdwSystemChangeNumber) (This)->lpVtbl->GetSystemChangeNumber(This,pdwSystemChangeNumber)
208 #define IMSAdminBaseW_GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber) (This)->lpVtbl->GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)
209 #define IMSAdminBaseW_SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) (This)->lpVtbl->SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
210 #define IMSAdminBaseW_GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) (This)->lpVtbl->GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
211 #define IMSAdminBaseW_KeyExchangePhase1(This) (This)->lpVtbl->KeyExchangePhase1(This)
212 #define IMSAdminBaseW_KeyExchangePhase2(This) (This)->lpVtbl->KeyExchangePhase2(This)
213 #define IMSAdminBaseW_Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) (This)->lpVtbl->Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
214 #define IMSAdminBaseW_Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) (This)->lpVtbl->Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
215 #define IMSAdminBaseW_EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex) (This)->lpVtbl->EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)
216 #define IMSAdminBaseW_DeleteBackup(This,pszMDBackupLocation,dwMDVersion) (This)->lpVtbl->DeleteBackup(This,pszMDBackupLocation,dwMDVersion)
217 #define IMSAdminBaseW_UnmarshalInterface(This,piadmbwInterface) (This)->lpVtbl->UnmarshalInterface(This,piadmbwInterface)
218 #define IMSAdminBaseW_GetServerGuid(This) (This)->lpVtbl->GetServerGuid(This)
219 #endif
220 #endif
221   HRESULT WINAPI IMSAdminBaseW_AddKey_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
222   void __RPC_STUB IMSAdminBaseW_AddKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
223   HRESULT WINAPI IMSAdminBaseW_DeleteKey_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
224   void __RPC_STUB IMSAdminBaseW_DeleteKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
225   HRESULT WINAPI IMSAdminBaseW_DeleteChildKeys_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
226   void __RPC_STUB IMSAdminBaseW_DeleteChildKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
227   HRESULT WINAPI IMSAdminBaseW_EnumKeys_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPWSTR pszMDName,DWORD dwMDEnumObjectIndex);
228   void __RPC_STUB IMSAdminBaseW_EnumKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
229   HRESULT WINAPI IMSAdminBaseW_CopyKey_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,WINBOOL bMDOverwriteFlag,WINBOOL bMDCopyFlag);
230   void __RPC_STUB IMSAdminBaseW_CopyKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
231   HRESULT WINAPI IMSAdminBaseW_RenameKey_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPCWSTR pszMDNewName);
232   void __RPC_STUB IMSAdminBaseW_RenameKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
233   HRESULT WINAPI IMSAdminBaseW_R_SetData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData);
234   void __RPC_STUB IMSAdminBaseW_R_SetData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
235   HRESULT WINAPI IMSAdminBaseW_R_GetData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD *pdwMDRequiredDataLen,struct _IIS_CRYPTO_BLOB **ppDataBlob);
236   void __RPC_STUB IMSAdminBaseW_R_GetData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
237   HRESULT WINAPI IMSAdminBaseW_DeleteData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType);
238   void __RPC_STUB IMSAdminBaseW_DeleteData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
239   HRESULT WINAPI IMSAdminBaseW_R_EnumData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD dwMDEnumDataIndex,DWORD *pdwMDRequiredDataLen,struct _IIS_CRYPTO_BLOB **ppDataBlob);
240   void __RPC_STUB IMSAdminBaseW_R_EnumData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
241   HRESULT WINAPI IMSAdminBaseW_R_GetAllData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,DWORD *pdwMDNumDataEntries,DWORD *pdwMDDataSetNumber,DWORD dwMDBufferSize,DWORD *pdwMDRequiredBufferSize,struct _IIS_CRYPTO_BLOB **ppDataBlob);
242   void __RPC_STUB IMSAdminBaseW_R_GetAllData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
243   HRESULT WINAPI IMSAdminBaseW_DeleteAllData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDUserType,DWORD dwMDDataType);
244   void __RPC_STUB IMSAdminBaseW_DeleteAllData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
245   HRESULT WINAPI IMSAdminBaseW_CopyData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,WINBOOL bMDCopyFlag);
246   void __RPC_STUB IMSAdminBaseW_CopyData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
247   HRESULT WINAPI IMSAdminBaseW_GetDataPaths_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize);
248   void __RPC_STUB IMSAdminBaseW_GetDataPaths_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
249   HRESULT WINAPI IMSAdminBaseW_OpenKey_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAccessRequested,DWORD dwMDTimeOut,PMETADATA_HANDLE phMDNewHandle);
250   void __RPC_STUB IMSAdminBaseW_OpenKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
251   HRESULT WINAPI IMSAdminBaseW_CloseKey_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle);
252   void __RPC_STUB IMSAdminBaseW_CloseKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
253   HRESULT WINAPI IMSAdminBaseW_ChangePermissions_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,DWORD dwMDTimeOut,DWORD dwMDAccessRequested);
254   void __RPC_STUB IMSAdminBaseW_ChangePermissions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
255   HRESULT WINAPI IMSAdminBaseW_SaveData_Proxy(IMSAdminBaseW *This);
256   void __RPC_STUB IMSAdminBaseW_SaveData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
257   HRESULT WINAPI IMSAdminBaseW_GetHandleInfo_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,PMETADATA_HANDLE_INFO pmdhiInfo);
258   void __RPC_STUB IMSAdminBaseW_GetHandleInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
259   HRESULT WINAPI IMSAdminBaseW_GetSystemChangeNumber_Proxy(IMSAdminBaseW *This,DWORD *pdwSystemChangeNumber);
260   void __RPC_STUB IMSAdminBaseW_GetSystemChangeNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
261   HRESULT WINAPI IMSAdminBaseW_GetDataSetNumber_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD *pdwMDDataSetNumber);
262   void __RPC_STUB IMSAdminBaseW_GetDataSetNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
263   HRESULT WINAPI IMSAdminBaseW_SetLastChangeTime_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
264   void __RPC_STUB IMSAdminBaseW_SetLastChangeTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
265   HRESULT WINAPI IMSAdminBaseW_GetLastChangeTime_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
266   void __RPC_STUB IMSAdminBaseW_GetLastChangeTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
267   HRESULT WINAPI IMSAdminBaseW_R_KeyExchangePhase1_Proxy(IMSAdminBaseW *This,struct _IIS_CRYPTO_BLOB *pClientKeyExchangeKeyBlob,struct _IIS_CRYPTO_BLOB *pClientSignatureKeyBlob,struct _IIS_CRYPTO_BLOB **ppServerKeyExchangeKeyBlob,struct _IIS_CRYPTO_BLOB **ppServerSignatureKeyBlob,struct _IIS_CRYPTO_BLOB **ppServerSessionKeyBlob);
268   void __RPC_STUB IMSAdminBaseW_R_KeyExchangePhase1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
269   HRESULT WINAPI IMSAdminBaseW_R_KeyExchangePhase2_Proxy(IMSAdminBaseW *This,struct _IIS_CRYPTO_BLOB *pClientSessionKeyBlob,struct _IIS_CRYPTO_BLOB *pClientHashBlob,struct _IIS_CRYPTO_BLOB **ppServerHashBlob);
270   void __RPC_STUB IMSAdminBaseW_R_KeyExchangePhase2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
271   HRESULT WINAPI IMSAdminBaseW_Backup_Proxy(IMSAdminBaseW *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
272   void __RPC_STUB IMSAdminBaseW_Backup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
273   HRESULT WINAPI IMSAdminBaseW_Restore_Proxy(IMSAdminBaseW *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
274   void __RPC_STUB IMSAdminBaseW_Restore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
275   HRESULT WINAPI IMSAdminBaseW_EnumBackups_Proxy(IMSAdminBaseW *This,LPWSTR pszMDBackupLocation,DWORD *pdwMDVersion,PFILETIME pftMDBackupTime,DWORD dwMDEnumIndex);
276   void __RPC_STUB IMSAdminBaseW_EnumBackups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
277   HRESULT WINAPI IMSAdminBaseW_DeleteBackup_Proxy(IMSAdminBaseW *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion);
278   void __RPC_STUB IMSAdminBaseW_DeleteBackup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
279   HRESULT WINAPI IMSAdminBaseW_UnmarshalInterface_Proxy(IMSAdminBaseW *This,IMSAdminBaseW **piadmbwInterface);
280   void __RPC_STUB IMSAdminBaseW_UnmarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
281   HRESULT WINAPI IMSAdminBaseW_R_GetServerGuid_Proxy(IMSAdminBaseW *This,GUID *pServerGuid);
282   void __RPC_STUB IMSAdminBaseW_R_GetServerGuid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
283 #endif
284 
285 #ifndef __IMSAdminBase2W_INTERFACE_DEFINED__
286 #define __IMSAdminBase2W_INTERFACE_DEFINED__
287   EXTERN_C const IID IID_IMSAdminBase2W;
288 #if defined(__cplusplus) && !defined(CINTERFACE)
289   struct IMSAdminBase2W : public IMSAdminBaseW {
290   public:
291     virtual HRESULT WINAPI BackupWithPasswd(LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd) = 0;
292     virtual HRESULT WINAPI RestoreWithPasswd(LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd) = 0;
293     virtual HRESULT WINAPI Export(LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,DWORD dwMDFlags) = 0;
294     virtual HRESULT WINAPI Import(LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,LPCWSTR pszDestPath,DWORD dwMDFlags) = 0;
295     virtual HRESULT WINAPI RestoreHistory(LPCWSTR pszMDHistoryLocation,DWORD dwMDMajorVersion,DWORD dwMDMinorVersion,DWORD dwMDFlags) = 0;
296     virtual HRESULT WINAPI EnumHistory(LPWSTR pszMDHistoryLocation,DWORD *pdwMDMajorVersion,DWORD *pdwMDMinorVersion,PFILETIME pftMDHistoryTime,DWORD dwMDEnumIndex) = 0;
297   };
298 #else
299   typedef struct IMSAdminBase2WVtbl {
300     BEGIN_INTERFACE
301       HRESULT (WINAPI *QueryInterface)(IMSAdminBase2W *This,REFIID riid,void **ppvObject);
302       ULONG (WINAPI *AddRef)(IMSAdminBase2W *This);
303       ULONG (WINAPI *Release)(IMSAdminBase2W *This);
304       HRESULT (WINAPI *AddKey)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
305       HRESULT (WINAPI *DeleteKey)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
306       HRESULT (WINAPI *DeleteChildKeys)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
307       HRESULT (WINAPI *EnumKeys)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPWSTR pszMDName,DWORD dwMDEnumObjectIndex);
308       HRESULT (WINAPI *CopyKey)(IMSAdminBase2W *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,WINBOOL bMDOverwriteFlag,WINBOOL bMDCopyFlag);
309       HRESULT (WINAPI *RenameKey)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPCWSTR pszMDNewName);
310       HRESULT (WINAPI *SetData)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData);
311       HRESULT (WINAPI *GetData)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD *pdwMDRequiredDataLen);
312       HRESULT (WINAPI *DeleteData)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType);
313       HRESULT (WINAPI *EnumData)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD dwMDEnumDataIndex,DWORD *pdwMDRequiredDataLen);
314       HRESULT (WINAPI *GetAllData)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,DWORD *pdwMDNumDataEntries,DWORD *pdwMDDataSetNumber,DWORD dwMDBufferSize,unsigned char *pbMDBuffer,DWORD *pdwMDRequiredBufferSize);
315       HRESULT (WINAPI *DeleteAllData)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDUserType,DWORD dwMDDataType);
316       HRESULT (WINAPI *CopyData)(IMSAdminBase2W *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,WINBOOL bMDCopyFlag);
317       HRESULT (WINAPI *GetDataPaths)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize);
318       HRESULT (WINAPI *OpenKey)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAccessRequested,DWORD dwMDTimeOut,PMETADATA_HANDLE phMDNewHandle);
319       HRESULT (WINAPI *CloseKey)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle);
320       HRESULT (WINAPI *ChangePermissions)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,DWORD dwMDTimeOut,DWORD dwMDAccessRequested);
321       HRESULT (WINAPI *SaveData)(IMSAdminBase2W *This);
322       HRESULT (WINAPI *GetHandleInfo)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,PMETADATA_HANDLE_INFO pmdhiInfo);
323       HRESULT (WINAPI *GetSystemChangeNumber)(IMSAdminBase2W *This,DWORD *pdwSystemChangeNumber);
324       HRESULT (WINAPI *GetDataSetNumber)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD *pdwMDDataSetNumber);
325       HRESULT (WINAPI *SetLastChangeTime)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
326       HRESULT (WINAPI *GetLastChangeTime)(IMSAdminBase2W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
327       HRESULT (WINAPI *KeyExchangePhase1)(IMSAdminBase2W *This);
328       HRESULT (WINAPI *KeyExchangePhase2)(IMSAdminBase2W *This);
329       HRESULT (WINAPI *Backup)(IMSAdminBase2W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
330       HRESULT (WINAPI *Restore)(IMSAdminBase2W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
331       HRESULT (WINAPI *EnumBackups)(IMSAdminBase2W *This,LPWSTR pszMDBackupLocation,DWORD *pdwMDVersion,PFILETIME pftMDBackupTime,DWORD dwMDEnumIndex);
332       HRESULT (WINAPI *DeleteBackup)(IMSAdminBase2W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion);
333       HRESULT (WINAPI *UnmarshalInterface)(IMSAdminBase2W *This,IMSAdminBaseW **piadmbwInterface);
334       HRESULT (WINAPI *GetServerGuid)(IMSAdminBase2W *This);
335       HRESULT (WINAPI *BackupWithPasswd)(IMSAdminBase2W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd);
336       HRESULT (WINAPI *RestoreWithPasswd)(IMSAdminBase2W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd);
337       HRESULT (WINAPI *Export)(IMSAdminBase2W *This,LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,DWORD dwMDFlags);
338       HRESULT (WINAPI *Import)(IMSAdminBase2W *This,LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,LPCWSTR pszDestPath,DWORD dwMDFlags);
339       HRESULT (WINAPI *RestoreHistory)(IMSAdminBase2W *This,LPCWSTR pszMDHistoryLocation,DWORD dwMDMajorVersion,DWORD dwMDMinorVersion,DWORD dwMDFlags);
340       HRESULT (WINAPI *EnumHistory)(IMSAdminBase2W *This,LPWSTR pszMDHistoryLocation,DWORD *pdwMDMajorVersion,DWORD *pdwMDMinorVersion,PFILETIME pftMDHistoryTime,DWORD dwMDEnumIndex);
341     END_INTERFACE
342   } IMSAdminBase2WVtbl;
343   struct IMSAdminBase2W {
344     CONST_VTBL struct IMSAdminBase2WVtbl *lpVtbl;
345   };
346 #ifdef COBJMACROS
347 #define IMSAdminBase2W_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
348 #define IMSAdminBase2W_AddRef(This) (This)->lpVtbl->AddRef(This)
349 #define IMSAdminBase2W_Release(This) (This)->lpVtbl->Release(This)
350 #define IMSAdminBase2W_AddKey(This,hMDHandle,pszMDPath) (This)->lpVtbl->AddKey(This,hMDHandle,pszMDPath)
351 #define IMSAdminBase2W_DeleteKey(This,hMDHandle,pszMDPath) (This)->lpVtbl->DeleteKey(This,hMDHandle,pszMDPath)
352 #define IMSAdminBase2W_DeleteChildKeys(This,hMDHandle,pszMDPath) (This)->lpVtbl->DeleteChildKeys(This,hMDHandle,pszMDPath)
353 #define IMSAdminBase2W_EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex) (This)->lpVtbl->EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)
354 #define IMSAdminBase2W_CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag) (This)->lpVtbl->CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)
355 #define IMSAdminBase2W_RenameKey(This,hMDHandle,pszMDPath,pszMDNewName) (This)->lpVtbl->RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)
356 #define IMSAdminBase2W_SetData(This,hMDHandle,pszMDPath,pmdrMDData) (This)->lpVtbl->SetData(This,hMDHandle,pszMDPath,pmdrMDData)
357 #define IMSAdminBase2W_GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen) (This)->lpVtbl->GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)
358 #define IMSAdminBase2W_DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType) (This)->lpVtbl->DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)
359 #define IMSAdminBase2W_EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen) (This)->lpVtbl->EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)
360 #define IMSAdminBase2W_GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize) (This)->lpVtbl->GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)
361 #define IMSAdminBase2W_DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType) (This)->lpVtbl->DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)
362 #define IMSAdminBase2W_CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag) (This)->lpVtbl->CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)
363 #define IMSAdminBase2W_GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) (This)->lpVtbl->GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
364 #define IMSAdminBase2W_OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle) (This)->lpVtbl->OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)
365 #define IMSAdminBase2W_CloseKey(This,hMDHandle) (This)->lpVtbl->CloseKey(This,hMDHandle)
366 #define IMSAdminBase2W_ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested) (This)->lpVtbl->ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)
367 #define IMSAdminBase2W_SaveData(This) (This)->lpVtbl->SaveData(This)
368 #define IMSAdminBase2W_GetHandleInfo(This,hMDHandle,pmdhiInfo) (This)->lpVtbl->GetHandleInfo(This,hMDHandle,pmdhiInfo)
369 #define IMSAdminBase2W_GetSystemChangeNumber(This,pdwSystemChangeNumber) (This)->lpVtbl->GetSystemChangeNumber(This,pdwSystemChangeNumber)
370 #define IMSAdminBase2W_GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber) (This)->lpVtbl->GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)
371 #define IMSAdminBase2W_SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) (This)->lpVtbl->SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
372 #define IMSAdminBase2W_GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) (This)->lpVtbl->GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
373 #define IMSAdminBase2W_KeyExchangePhase1(This) (This)->lpVtbl->KeyExchangePhase1(This)
374 #define IMSAdminBase2W_KeyExchangePhase2(This) (This)->lpVtbl->KeyExchangePhase2(This)
375 #define IMSAdminBase2W_Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) (This)->lpVtbl->Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
376 #define IMSAdminBase2W_Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) (This)->lpVtbl->Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
377 #define IMSAdminBase2W_EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex) (This)->lpVtbl->EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)
378 #define IMSAdminBase2W_DeleteBackup(This,pszMDBackupLocation,dwMDVersion) (This)->lpVtbl->DeleteBackup(This,pszMDBackupLocation,dwMDVersion)
379 #define IMSAdminBase2W_UnmarshalInterface(This,piadmbwInterface) (This)->lpVtbl->UnmarshalInterface(This,piadmbwInterface)
380 #define IMSAdminBase2W_GetServerGuid(This) (This)->lpVtbl->GetServerGuid(This)
381 #define IMSAdminBase2W_BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) (This)->lpVtbl->BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
382 #define IMSAdminBase2W_RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) (This)->lpVtbl->RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
383 #define IMSAdminBase2W_Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags) (This)->lpVtbl->Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags)
384 #define IMSAdminBase2W_Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags) (This)->lpVtbl->Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags)
385 #define IMSAdminBase2W_RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags) (This)->lpVtbl->RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags)
386 #define IMSAdminBase2W_EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex) (This)->lpVtbl->EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex)
387 #endif
388 #endif
389   HRESULT WINAPI IMSAdminBase2W_BackupWithPasswd_Proxy(IMSAdminBase2W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd);
390   void __RPC_STUB IMSAdminBase2W_BackupWithPasswd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
391   HRESULT WINAPI IMSAdminBase2W_RestoreWithPasswd_Proxy(IMSAdminBase2W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd);
392   void __RPC_STUB IMSAdminBase2W_RestoreWithPasswd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
393   HRESULT WINAPI IMSAdminBase2W_Export_Proxy(IMSAdminBase2W *This,LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,DWORD dwMDFlags);
394   void __RPC_STUB IMSAdminBase2W_Export_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
395   HRESULT WINAPI IMSAdminBase2W_Import_Proxy(IMSAdminBase2W *This,LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,LPCWSTR pszDestPath,DWORD dwMDFlags);
396   void __RPC_STUB IMSAdminBase2W_Import_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
397   HRESULT WINAPI IMSAdminBase2W_RestoreHistory_Proxy(IMSAdminBase2W *This,LPCWSTR pszMDHistoryLocation,DWORD dwMDMajorVersion,DWORD dwMDMinorVersion,DWORD dwMDFlags);
398   void __RPC_STUB IMSAdminBase2W_RestoreHistory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
399   HRESULT WINAPI IMSAdminBase2W_EnumHistory_Proxy(IMSAdminBase2W *This,LPWSTR pszMDHistoryLocation,DWORD *pdwMDMajorVersion,DWORD *pdwMDMinorVersion,PFILETIME pftMDHistoryTime,DWORD dwMDEnumIndex);
400   void __RPC_STUB IMSAdminBase2W_EnumHistory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
401 #endif
402 
403 #ifndef __IMSAdminBase3W_INTERFACE_DEFINED__
404 #define __IMSAdminBase3W_INTERFACE_DEFINED__
405   EXTERN_C const IID IID_IMSAdminBase3W;
406 #if defined(__cplusplus) && !defined(CINTERFACE)
407 
408   struct IMSAdminBase3W : public IMSAdminBase2W {
409   public:
410     virtual HRESULT WINAPI GetChildPaths(METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD cchMDBufferSize,WCHAR *pszBuffer,DWORD *pcchMDRequiredBufferSize) = 0;
411   };
412 #else
413   typedef struct IMSAdminBase3WVtbl {
414     BEGIN_INTERFACE
415       HRESULT (WINAPI *QueryInterface)(IMSAdminBase3W *This,REFIID riid,void **ppvObject);
416       ULONG (WINAPI *AddRef)(IMSAdminBase3W *This);
417       ULONG (WINAPI *Release)(IMSAdminBase3W *This);
418       HRESULT (WINAPI *AddKey)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
419       HRESULT (WINAPI *DeleteKey)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
420       HRESULT (WINAPI *DeleteChildKeys)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath);
421       HRESULT (WINAPI *EnumKeys)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPWSTR pszMDName,DWORD dwMDEnumObjectIndex);
422       HRESULT (WINAPI *CopyKey)(IMSAdminBase3W *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,WINBOOL bMDOverwriteFlag,WINBOOL bMDCopyFlag);
423       HRESULT (WINAPI *RenameKey)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,LPCWSTR pszMDNewName);
424       HRESULT (WINAPI *SetData)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData);
425       HRESULT (WINAPI *GetData)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD *pdwMDRequiredDataLen);
426       HRESULT (WINAPI *DeleteData)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType);
427       HRESULT (WINAPI *EnumData)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD dwMDEnumDataIndex,DWORD *pdwMDRequiredDataLen);
428       HRESULT (WINAPI *GetAllData)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,DWORD *pdwMDNumDataEntries,DWORD *pdwMDDataSetNumber,DWORD dwMDBufferSize,unsigned char *pbMDBuffer,DWORD *pdwMDRequiredBufferSize);
429       HRESULT (WINAPI *DeleteAllData)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDUserType,DWORD dwMDDataType);
430       HRESULT (WINAPI *CopyData)(IMSAdminBase3W *This,METADATA_HANDLE hMDSourceHandle,LPCWSTR pszMDSourcePath,METADATA_HANDLE hMDDestHandle,LPCWSTR pszMDDestPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,WINBOOL bMDCopyFlag);
431       HRESULT (WINAPI *GetDataPaths)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDIdentifier,DWORD dwMDDataType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize);
432       HRESULT (WINAPI *OpenKey)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAccessRequested,DWORD dwMDTimeOut,PMETADATA_HANDLE phMDNewHandle);
433       HRESULT (WINAPI *CloseKey)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle);
434       HRESULT (WINAPI *ChangePermissions)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,DWORD dwMDTimeOut,DWORD dwMDAccessRequested);
435       HRESULT (WINAPI *SaveData)(IMSAdminBase3W *This);
436       HRESULT (WINAPI *GetHandleInfo)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,PMETADATA_HANDLE_INFO pmdhiInfo);
437       HRESULT (WINAPI *GetSystemChangeNumber)(IMSAdminBase3W *This,DWORD *pdwSystemChangeNumber);
438       HRESULT (WINAPI *GetDataSetNumber)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD *pdwMDDataSetNumber);
439       HRESULT (WINAPI *SetLastChangeTime)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
440       HRESULT (WINAPI *GetLastChangeTime)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PFILETIME pftMDLastChangeTime,WINBOOL bLocalTime);
441       HRESULT (WINAPI *KeyExchangePhase1)(IMSAdminBase3W *This);
442       HRESULT (WINAPI *KeyExchangePhase2)(IMSAdminBase3W *This);
443       HRESULT (WINAPI *Backup)(IMSAdminBase3W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
444       HRESULT (WINAPI *Restore)(IMSAdminBase3W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags);
445       HRESULT (WINAPI *EnumBackups)(IMSAdminBase3W *This,LPWSTR pszMDBackupLocation,DWORD *pdwMDVersion,PFILETIME pftMDBackupTime,DWORD dwMDEnumIndex);
446       HRESULT (WINAPI *DeleteBackup)(IMSAdminBase3W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion);
447       HRESULT (WINAPI *UnmarshalInterface)(IMSAdminBase3W *This,IMSAdminBaseW **piadmbwInterface);
448       HRESULT (WINAPI *GetServerGuid)(IMSAdminBase3W *This);
449       HRESULT (WINAPI *BackupWithPasswd)(IMSAdminBase3W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd);
450       HRESULT (WINAPI *RestoreWithPasswd)(IMSAdminBase3W *This,LPCWSTR pszMDBackupLocation,DWORD dwMDVersion,DWORD dwMDFlags,LPCWSTR pszPasswd);
451       HRESULT (WINAPI *Export)(IMSAdminBase3W *This,LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,DWORD dwMDFlags);
452       HRESULT (WINAPI *Import)(IMSAdminBase3W *This,LPCWSTR pszPasswd,LPCWSTR pszFileName,LPCWSTR pszSourcePath,LPCWSTR pszDestPath,DWORD dwMDFlags);
453       HRESULT (WINAPI *RestoreHistory)(IMSAdminBase3W *This,LPCWSTR pszMDHistoryLocation,DWORD dwMDMajorVersion,DWORD dwMDMinorVersion,DWORD dwMDFlags);
454       HRESULT (WINAPI *EnumHistory)(IMSAdminBase3W *This,LPWSTR pszMDHistoryLocation,DWORD *pdwMDMajorVersion,DWORD *pdwMDMinorVersion,PFILETIME pftMDHistoryTime,DWORD dwMDEnumIndex);
455       HRESULT (WINAPI *GetChildPaths)(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD cchMDBufferSize,WCHAR *pszBuffer,DWORD *pcchMDRequiredBufferSize);
456     END_INTERFACE
457   } IMSAdminBase3WVtbl;
458   struct IMSAdminBase3W {
459     CONST_VTBL struct IMSAdminBase3WVtbl *lpVtbl;
460   };
461 #ifdef COBJMACROS
462 #define IMSAdminBase3W_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
463 #define IMSAdminBase3W_AddRef(This) (This)->lpVtbl->AddRef(This)
464 #define IMSAdminBase3W_Release(This) (This)->lpVtbl->Release(This)
465 #define IMSAdminBase3W_AddKey(This,hMDHandle,pszMDPath) (This)->lpVtbl->AddKey(This,hMDHandle,pszMDPath)
466 #define IMSAdminBase3W_DeleteKey(This,hMDHandle,pszMDPath) (This)->lpVtbl->DeleteKey(This,hMDHandle,pszMDPath)
467 #define IMSAdminBase3W_DeleteChildKeys(This,hMDHandle,pszMDPath) (This)->lpVtbl->DeleteChildKeys(This,hMDHandle,pszMDPath)
468 #define IMSAdminBase3W_EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex) (This)->lpVtbl->EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)
469 #define IMSAdminBase3W_CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag) (This)->lpVtbl->CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)
470 #define IMSAdminBase3W_RenameKey(This,hMDHandle,pszMDPath,pszMDNewName) (This)->lpVtbl->RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)
471 #define IMSAdminBase3W_SetData(This,hMDHandle,pszMDPath,pmdrMDData) (This)->lpVtbl->SetData(This,hMDHandle,pszMDPath,pmdrMDData)
472 #define IMSAdminBase3W_GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen) (This)->lpVtbl->GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)
473 #define IMSAdminBase3W_DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType) (This)->lpVtbl->DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)
474 #define IMSAdminBase3W_EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen) (This)->lpVtbl->EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)
475 #define IMSAdminBase3W_GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize) (This)->lpVtbl->GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)
476 #define IMSAdminBase3W_DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType) (This)->lpVtbl->DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)
477 #define IMSAdminBase3W_CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag) (This)->lpVtbl->CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)
478 #define IMSAdminBase3W_GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) (This)->lpVtbl->GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
479 #define IMSAdminBase3W_OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle) (This)->lpVtbl->OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)
480 #define IMSAdminBase3W_CloseKey(This,hMDHandle) (This)->lpVtbl->CloseKey(This,hMDHandle)
481 #define IMSAdminBase3W_ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested) (This)->lpVtbl->ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)
482 #define IMSAdminBase3W_SaveData(This) (This)->lpVtbl->SaveData(This)
483 #define IMSAdminBase3W_GetHandleInfo(This,hMDHandle,pmdhiInfo) (This)->lpVtbl->GetHandleInfo(This,hMDHandle,pmdhiInfo)
484 #define IMSAdminBase3W_GetSystemChangeNumber(This,pdwSystemChangeNumber) (This)->lpVtbl->GetSystemChangeNumber(This,pdwSystemChangeNumber)
485 #define IMSAdminBase3W_GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber) (This)->lpVtbl->GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)
486 #define IMSAdminBase3W_SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) (This)->lpVtbl->SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
487 #define IMSAdminBase3W_GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) (This)->lpVtbl->GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
488 #define IMSAdminBase3W_KeyExchangePhase1(This) (This)->lpVtbl->KeyExchangePhase1(This)
489 #define IMSAdminBase3W_KeyExchangePhase2(This) (This)->lpVtbl->KeyExchangePhase2(This)
490 #define IMSAdminBase3W_Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) (This)->lpVtbl->Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
491 #define IMSAdminBase3W_Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) (This)->lpVtbl->Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
492 #define IMSAdminBase3W_EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex) (This)->lpVtbl->EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)
493 #define IMSAdminBase3W_DeleteBackup(This,pszMDBackupLocation,dwMDVersion) (This)->lpVtbl->DeleteBackup(This,pszMDBackupLocation,dwMDVersion)
494 #define IMSAdminBase3W_UnmarshalInterface(This,piadmbwInterface) (This)->lpVtbl->UnmarshalInterface(This,piadmbwInterface)
495 #define IMSAdminBase3W_GetServerGuid(This) (This)->lpVtbl->GetServerGuid(This)
496 #define IMSAdminBase3W_BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) (This)->lpVtbl->BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
497 #define IMSAdminBase3W_RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) (This)->lpVtbl->RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
498 #define IMSAdminBase3W_Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags) (This)->lpVtbl->Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags)
499 #define IMSAdminBase3W_Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags) (This)->lpVtbl->Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags)
500 #define IMSAdminBase3W_RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags) (This)->lpVtbl->RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags)
501 #define IMSAdminBase3W_EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex) (This)->lpVtbl->EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex)
502 #define IMSAdminBase3W_GetChildPaths(This,hMDHandle,pszMDPath,cchMDBufferSize,pszBuffer,pcchMDRequiredBufferSize) (This)->lpVtbl->GetChildPaths(This,hMDHandle,pszMDPath,cchMDBufferSize,pszBuffer,pcchMDRequiredBufferSize)
503 #endif
504 #endif
505   HRESULT WINAPI IMSAdminBase3W_GetChildPaths_Proxy(IMSAdminBase3W *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD cchMDBufferSize,WCHAR *pszBuffer,DWORD *pcchMDRequiredBufferSize);
506   void __RPC_STUB IMSAdminBase3W_GetChildPaths_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
507 #endif
508 
509 #ifndef __IMSImpExpHelpW_INTERFACE_DEFINED__
510 #define __IMSImpExpHelpW_INTERFACE_DEFINED__
511   EXTERN_C const IID IID_IMSImpExpHelpW;
512 #if defined(__cplusplus) && !defined(CINTERFACE)
513   struct IMSImpExpHelpW : public IUnknown {
514   public:
515     virtual HRESULT WINAPI EnumeratePathsInFile(LPCWSTR pszFileName,LPCWSTR pszKeyType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize) = 0;
516   };
517 #else
518   typedef struct IMSImpExpHelpWVtbl {
519     BEGIN_INTERFACE
520       HRESULT (WINAPI *QueryInterface)(IMSImpExpHelpW *This,REFIID riid,void **ppvObject);
521       ULONG (WINAPI *AddRef)(IMSImpExpHelpW *This);
522       ULONG (WINAPI *Release)(IMSImpExpHelpW *This);
523       HRESULT (WINAPI *EnumeratePathsInFile)(IMSImpExpHelpW *This,LPCWSTR pszFileName,LPCWSTR pszKeyType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize);
524     END_INTERFACE
525   } IMSImpExpHelpWVtbl;
526   struct IMSImpExpHelpW {
527     CONST_VTBL struct IMSImpExpHelpWVtbl *lpVtbl;
528   };
529 #ifdef COBJMACROS
530 #define IMSImpExpHelpW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
531 #define IMSImpExpHelpW_AddRef(This) (This)->lpVtbl->AddRef(This)
532 #define IMSImpExpHelpW_Release(This) (This)->lpVtbl->Release(This)
533 #define IMSImpExpHelpW_EnumeratePathsInFile(This,pszFileName,pszKeyType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) (This)->lpVtbl->EnumeratePathsInFile(This,pszFileName,pszKeyType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
534 #endif
535 #endif
536   HRESULT WINAPI IMSImpExpHelpW_EnumeratePathsInFile_Proxy(IMSImpExpHelpW *This,LPCWSTR pszFileName,LPCWSTR pszKeyType,DWORD dwMDBufferSize,WCHAR *pszBuffer,DWORD *pdwMDRequiredBufferSize);
537   void __RPC_STUB IMSImpExpHelpW_EnumeratePathsInFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
538 #endif
539 
540 #ifndef __IMSAdminBaseSinkW_INTERFACE_DEFINED__
541 #define __IMSAdminBaseSinkW_INTERFACE_DEFINED__
542   EXTERN_C const IID IID_IMSAdminBaseSinkW;
543 #if defined(__cplusplus) && !defined(CINTERFACE)
544   struct IMSAdminBaseSinkW : public IUnknown {
545   public:
546     virtual HRESULT WINAPI SinkNotify(DWORD dwMDNumElements,MD_CHANGE_OBJECT_W pcoChangeList[]) = 0;
547     virtual HRESULT WINAPI ShutdownNotify(void) = 0;
548   };
549 #else
550   typedef struct IMSAdminBaseSinkWVtbl {
551     BEGIN_INTERFACE
552       HRESULT (WINAPI *QueryInterface)(IMSAdminBaseSinkW *This,REFIID riid,void **ppvObject);
553       ULONG (WINAPI *AddRef)(IMSAdminBaseSinkW *This);
554       ULONG (WINAPI *Release)(IMSAdminBaseSinkW *This);
555       HRESULT (WINAPI *SinkNotify)(IMSAdminBaseSinkW *This,DWORD dwMDNumElements,MD_CHANGE_OBJECT_W pcoChangeList[]);
556       HRESULT (WINAPI *ShutdownNotify)(IMSAdminBaseSinkW *This);
557     END_INTERFACE
558   } IMSAdminBaseSinkWVtbl;
559   struct IMSAdminBaseSinkW {
560     CONST_VTBL struct IMSAdminBaseSinkWVtbl *lpVtbl;
561   };
562 #ifdef COBJMACROS
563 #define IMSAdminBaseSinkW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
564 #define IMSAdminBaseSinkW_AddRef(This) (This)->lpVtbl->AddRef(This)
565 #define IMSAdminBaseSinkW_Release(This) (This)->lpVtbl->Release(This)
566 #define IMSAdminBaseSinkW_SinkNotify(This,dwMDNumElements,pcoChangeList) (This)->lpVtbl->SinkNotify(This,dwMDNumElements,pcoChangeList)
567 #define IMSAdminBaseSinkW_ShutdownNotify(This) (This)->lpVtbl->ShutdownNotify(This)
568 #endif
569 #endif
570   HRESULT WINAPI IMSAdminBaseSinkW_SinkNotify_Proxy(IMSAdminBaseSinkW *This,DWORD dwMDNumElements,MD_CHANGE_OBJECT_W pcoChangeList[]);
571   void __RPC_STUB IMSAdminBaseSinkW_SinkNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
572   HRESULT WINAPI IMSAdminBaseSinkW_ShutdownNotify_Proxy(IMSAdminBaseSinkW *This);
573   void __RPC_STUB IMSAdminBaseSinkW_ShutdownNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
574 #endif
575 
576 #ifndef __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__
577 #define __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__
578   EXTERN_C const IID IID_AsyncIMSAdminBaseSinkW;
579 #if defined(__cplusplus) && !defined(CINTERFACE)
580   struct AsyncIMSAdminBaseSinkW : public IUnknown {
581   public:
582     virtual HRESULT WINAPI Begin_SinkNotify(DWORD dwMDNumElements,MD_CHANGE_OBJECT_W pcoChangeList[]) = 0;
583     virtual HRESULT WINAPI Finish_SinkNotify(void) = 0;
584     virtual HRESULT WINAPI Begin_ShutdownNotify(void) = 0;
585     virtual HRESULT WINAPI Finish_ShutdownNotify(void) = 0;
586   };
587 #else
588   typedef struct AsyncIMSAdminBaseSinkWVtbl {
589     BEGIN_INTERFACE
590       HRESULT (WINAPI *QueryInterface)(AsyncIMSAdminBaseSinkW *This,REFIID riid,void **ppvObject);
591       ULONG (WINAPI *AddRef)(AsyncIMSAdminBaseSinkW *This);
592       ULONG (WINAPI *Release)(AsyncIMSAdminBaseSinkW *This);
593       HRESULT (WINAPI *Begin_SinkNotify)(AsyncIMSAdminBaseSinkW *This,DWORD dwMDNumElements,MD_CHANGE_OBJECT_W pcoChangeList[]);
594       HRESULT (WINAPI *Finish_SinkNotify)(AsyncIMSAdminBaseSinkW *This);
595       HRESULT (WINAPI *Begin_ShutdownNotify)(AsyncIMSAdminBaseSinkW *This);
596       HRESULT (WINAPI *Finish_ShutdownNotify)(AsyncIMSAdminBaseSinkW *This);
597     END_INTERFACE
598   } AsyncIMSAdminBaseSinkWVtbl;
599   struct AsyncIMSAdminBaseSinkW {
600     CONST_VTBL struct AsyncIMSAdminBaseSinkWVtbl *lpVtbl;
601   };
602 #ifdef COBJMACROS
603   define AsyncIMSAdminBaseSinkW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
604 #define AsyncIMSAdminBaseSinkW_AddRef(This) (This)->lpVtbl->AddRef(This)
605 #define AsyncIMSAdminBaseSinkW_Release(This) (This)->lpVtbl->Release(This)
606 #define AsyncIMSAdminBaseSinkW_Begin_SinkNotify(This,dwMDNumElements,pcoChangeList) (This)->lpVtbl->Begin_SinkNotify(This,dwMDNumElements,pcoChangeList)
607 #define AsyncIMSAdminBaseSinkW_Finish_SinkNotify(This) (This)->lpVtbl->Finish_SinkNotify(This)
608 #define AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify(This) (This)->lpVtbl->Begin_ShutdownNotify(This)
609 #define AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify(This) (This)->lpVtbl->Finish_ShutdownNotify(This)
610 #endif
611 #endif
612     HRESULT WINAPI AsyncIMSAdminBaseSinkW_Begin_SinkNotify_Proxy(AsyncIMSAdminBaseSinkW *This,DWORD dwMDNumElements,MD_CHANGE_OBJECT_W pcoChangeList[]);
613   void __RPC_STUB AsyncIMSAdminBaseSinkW_Begin_SinkNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
614   HRESULT WINAPI AsyncIMSAdminBaseSinkW_Finish_SinkNotify_Proxy(AsyncIMSAdminBaseSinkW *This);
615   void __RPC_STUB AsyncIMSAdminBaseSinkW_Finish_SinkNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
616   HRESULT WINAPI AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify_Proxy(AsyncIMSAdminBaseSinkW *This);
617   void __RPC_STUB AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
618   HRESULT WINAPI AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify_Proxy(AsyncIMSAdminBaseSinkW *This);
619   void __RPC_STUB AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
620 #endif
621 #endif
622 
623   extern RPC_IF_HANDLE __MIDL_itf_iadmw_0272_v0_0_c_ifspec;
624   extern RPC_IF_HANDLE __MIDL_itf_iadmw_0272_v0_0_s_ifspec;
625 
626   HRESULT WINAPI IMSAdminBaseW_SetData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData);
627   HRESULT WINAPI IMSAdminBaseW_SetData_Stub(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData);
628   HRESULT WINAPI IMSAdminBaseW_GetData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD *pdwMDRequiredDataLen);
629   HRESULT WINAPI IMSAdminBaseW_GetData_Stub(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD *pdwMDRequiredDataLen,struct _IIS_CRYPTO_BLOB **ppDataBlob);
630   HRESULT WINAPI IMSAdminBaseW_EnumData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD dwMDEnumDataIndex,DWORD *pdwMDRequiredDataLen);
631   HRESULT WINAPI IMSAdminBaseW_EnumData_Stub(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,PMETADATA_RECORD pmdrMDData,DWORD dwMDEnumDataIndex,DWORD *pdwMDRequiredDataLen,struct _IIS_CRYPTO_BLOB **ppDataBlob);
632   HRESULT WINAPI IMSAdminBaseW_GetAllData_Proxy(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,DWORD *pdwMDNumDataEntries,DWORD *pdwMDDataSetNumber,DWORD dwMDBufferSize,unsigned char *pbMDBuffer,DWORD *pdwMDRequiredBufferSize);
633   HRESULT WINAPI IMSAdminBaseW_GetAllData_Stub(IMSAdminBaseW *This,METADATA_HANDLE hMDHandle,LPCWSTR pszMDPath,DWORD dwMDAttributes,DWORD dwMDUserType,DWORD dwMDDataType,DWORD *pdwMDNumDataEntries,DWORD *pdwMDDataSetNumber,DWORD dwMDBufferSize,DWORD *pdwMDRequiredBufferSize,struct _IIS_CRYPTO_BLOB **ppDataBlob);
634   HRESULT WINAPI IMSAdminBaseW_KeyExchangePhase1_Proxy(IMSAdminBaseW *This);
635   HRESULT WINAPI IMSAdminBaseW_KeyExchangePhase1_Stub(IMSAdminBaseW *This,struct _IIS_CRYPTO_BLOB *pClientKeyExchangeKeyBlob,struct _IIS_CRYPTO_BLOB *pClientSignatureKeyBlob,struct _IIS_CRYPTO_BLOB **ppServerKeyExchangeKeyBlob,struct _IIS_CRYPTO_BLOB **ppServerSignatureKeyBlob,struct _IIS_CRYPTO_BLOB **ppServerSessionKeyBlob);
636   HRESULT WINAPI IMSAdminBaseW_KeyExchangePhase2_Proxy(IMSAdminBaseW *This);
637   HRESULT WINAPI IMSAdminBaseW_KeyExchangePhase2_Stub(IMSAdminBaseW *This,struct _IIS_CRYPTO_BLOB *pClientSessionKeyBlob,struct _IIS_CRYPTO_BLOB *pClientHashBlob,struct _IIS_CRYPTO_BLOB **ppServerHashBlob);
638   HRESULT WINAPI IMSAdminBaseW_GetServerGuid_Proxy(IMSAdminBaseW *This);
639   HRESULT WINAPI IMSAdminBaseW_GetServerGuid_Stub(IMSAdminBaseW *This,GUID *pServerGuid);
640 
641 #ifdef __cplusplus
642 }
643 #endif
644 #endif
645