Leaked source code of windows server 2003
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.

2617 lines
100 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for iadmw.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __iadmw_h__
  27. #define __iadmw_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IMSAdminBaseW_FWD_DEFINED__
  33. #define __IMSAdminBaseW_FWD_DEFINED__
  34. typedef interface IMSAdminBaseW IMSAdminBaseW;
  35. #endif /* __IMSAdminBaseW_FWD_DEFINED__ */
  36. #ifndef __IMSAdminBase2W_FWD_DEFINED__
  37. #define __IMSAdminBase2W_FWD_DEFINED__
  38. typedef interface IMSAdminBase2W IMSAdminBase2W;
  39. #endif /* __IMSAdminBase2W_FWD_DEFINED__ */
  40. #ifndef __IMSAdminBase3W_FWD_DEFINED__
  41. #define __IMSAdminBase3W_FWD_DEFINED__
  42. typedef interface IMSAdminBase3W IMSAdminBase3W;
  43. #endif /* __IMSAdminBase3W_FWD_DEFINED__ */
  44. #ifndef __IMSImpExpHelpW_FWD_DEFINED__
  45. #define __IMSImpExpHelpW_FWD_DEFINED__
  46. typedef interface IMSImpExpHelpW IMSImpExpHelpW;
  47. #endif /* __IMSImpExpHelpW_FWD_DEFINED__ */
  48. #ifndef __IMSAdminBaseSinkW_FWD_DEFINED__
  49. #define __IMSAdminBaseSinkW_FWD_DEFINED__
  50. typedef interface IMSAdminBaseSinkW IMSAdminBaseSinkW;
  51. #endif /* __IMSAdminBaseSinkW_FWD_DEFINED__ */
  52. #ifndef __AsyncIMSAdminBaseSinkW_FWD_DEFINED__
  53. #define __AsyncIMSAdminBaseSinkW_FWD_DEFINED__
  54. typedef interface AsyncIMSAdminBaseSinkW AsyncIMSAdminBaseSinkW;
  55. #endif /* __AsyncIMSAdminBaseSinkW_FWD_DEFINED__ */
  56. /* header files for imported files */
  57. #include "mddefw.h"
  58. #include "objidl.h"
  59. #include "ocidl.h"
  60. #ifdef __cplusplus
  61. extern "C"{
  62. #endif
  63. void * __RPC_USER MIDL_user_allocate(size_t);
  64. void __RPC_USER MIDL_user_free( void * );
  65. /* interface __MIDL_itf_iadmw_0000 */
  66. /* [local] */
  67. /*++
  68. Copyright (c) 1997-1999 Microsoft Corporation
  69. Module Name: iadmw.h
  70. Admin Objects Interfaces
  71. --*/
  72. #ifndef _ADM_IADMW_
  73. #define _ADM_IADMW_
  74. #include <mdcommsg.h>
  75. #include <mdmsg.h>
  76. /*
  77. Error Codes
  78. Admin api's all return HRESULTS. Since internal results are either
  79. winerrors or Metadata specific return codes (see mdmsg.h), they are
  80. converted to HRESULTS using the RETURNCODETOHRESULT macro (see
  81. commsg.h).
  82. */
  83. /*
  84. Max Name Length
  85. The maximum number of characters in the length of a metaobject name,
  86. including the terminating NULL. This refers to each node in the tree,
  87. not the entire path.
  88. eg. strlen("Root") < ADMINDATA_MAX_NAME_LEN
  89. */
  90. #define ADMINDATA_MAX_NAME_LEN 256
  91. #define CLSID_MSAdminBase CLSID_MSAdminBase_W
  92. #define IID_IMSAdminBase IID_IMSAdminBase_W
  93. #define IMSAdminBase IMSAdminBaseW
  94. #define IID_IMSAdminBase2 IID_IMSAdminBase2_W
  95. #define IMSAdminBase2 IMSAdminBase2W
  96. #define IID_IMSAdminBase3 IID_IMSAdminBase3_W
  97. #define IMSAdminBase3 IMSAdminBase3W
  98. #define IMSAdminBaseSink IMSAdminBaseSinkW
  99. #define IID_IMSAdminBaseSink IID_IMSAdminBaseSink_W
  100. #define IMSImpExpHelp IMSImpExpHelpW
  101. #define IID_IMSImpExpHelp IID_IMSImpExpHelp_W
  102. #define GETAdminBaseCLSID GETAdminBaseCLSIDW
  103. #define AsyncIMSAdminBaseSink AsyncIMSAdminBaseSinkW
  104. #define IID_AsyncIMSAdminBaseSink IID_AsyncIMSAdminBaseSink_W
  105. DEFINE_GUID(CLSID_MSAdminBase_W, 0xa9e69610, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  106. DEFINE_GUID(IID_IMSAdminBase_W, 0x70b51430, 0xb6ca, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  107. DEFINE_GUID(IID_IMSAdminBase2_W, 0x8298d101, 0xf992, 0x43b7, 0x8e, 0xca, 0x50, 0x52, 0xd8, 0x85, 0xb9, 0x95);
  108. DEFINE_GUID(IID_IMSAdminBase3_W, 0xf612954d, 0x3b0b, 0x4c56, 0x95, 0x63, 0x22, 0x7b, 0x7b, 0xe6, 0x24, 0xb4);
  109. DEFINE_GUID(IID_IMSImpExpHelp_W, 0x29ff67ff, 0x8050, 0x480f, 0x9f, 0x30, 0xcc, 0x41, 0x63, 0x5f, 0x2f, 0x9d);
  110. DEFINE_GUID(IID_IMSAdminBaseSink_W, 0xa9e69612, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  111. DEFINE_GUID(IID_AsyncIMSAdminBaseSink_W, 0xa9e69613, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
  112. DEFINE_GUID(IID_IMSAdminBaseSinkNoAsyncCallback, 0x41704d5c, 0x75a0, 0x4d0e, 0xae, 0x3f, 0x80, 0xa5, 0xfc, 0x4c, 0xf6, 0x53);
  113. #define GETAdminBaseCLSIDW(IsService) CLSID_MSAdminBase_W
  114. /*
  115. The Main Interface, UNICODE
  116. */
  117. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0000_v0_0_c_ifspec;
  118. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0000_v0_0_s_ifspec;
  119. #ifndef __IMSAdminBaseW_INTERFACE_DEFINED__
  120. #define __IMSAdminBaseW_INTERFACE_DEFINED__
  121. /* interface IMSAdminBaseW */
  122. /* [unique][uuid][object] */
  123. EXTERN_C const IID IID_IMSAdminBaseW;
  124. #if defined(__cplusplus) && !defined(CINTERFACE)
  125. MIDL_INTERFACE("70B51430-B6CA-11d0-B9B9-00A0C922E750")
  126. IMSAdminBaseW : public IUnknown
  127. {
  128. public:
  129. virtual HRESULT STDMETHODCALLTYPE AddKey(
  130. /* [in] */ METADATA_HANDLE hMDHandle,
  131. /* [string][in][unique] */ LPCWSTR pszMDPath) = 0;
  132. virtual HRESULT STDMETHODCALLTYPE DeleteKey(
  133. /* [in] */ METADATA_HANDLE hMDHandle,
  134. /* [string][in][unique] */ LPCWSTR pszMDPath) = 0;
  135. virtual HRESULT STDMETHODCALLTYPE DeleteChildKeys(
  136. /* [in] */ METADATA_HANDLE hMDHandle,
  137. /* [string][in][unique] */ LPCWSTR pszMDPath) = 0;
  138. virtual HRESULT STDMETHODCALLTYPE EnumKeys(
  139. /* [in] */ METADATA_HANDLE hMDHandle,
  140. /* [string][in][unique] */ LPCWSTR pszMDPath,
  141. /* [size_is][out] */ LPWSTR pszMDName,
  142. /* [in] */ DWORD dwMDEnumObjectIndex) = 0;
  143. virtual HRESULT STDMETHODCALLTYPE CopyKey(
  144. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  145. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  146. /* [in] */ METADATA_HANDLE hMDDestHandle,
  147. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  148. /* [in] */ BOOL bMDOverwriteFlag,
  149. /* [in] */ BOOL bMDCopyFlag) = 0;
  150. virtual HRESULT STDMETHODCALLTYPE RenameKey(
  151. /* [in] */ METADATA_HANDLE hMDHandle,
  152. /* [string][in][unique] */ LPCWSTR pszMDPath,
  153. /* [string][in][unique] */ LPCWSTR pszMDNewName) = 0;
  154. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetData(
  155. /* [in] */ METADATA_HANDLE hMDHandle,
  156. /* [string][in][unique] */ LPCWSTR pszMDPath,
  157. /* [in] */ PMETADATA_RECORD pmdrMDData) = 0;
  158. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetData(
  159. /* [in] */ METADATA_HANDLE hMDHandle,
  160. /* [string][in][unique] */ LPCWSTR pszMDPath,
  161. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  162. /* [out] */ DWORD *pdwMDRequiredDataLen) = 0;
  163. virtual HRESULT STDMETHODCALLTYPE DeleteData(
  164. /* [in] */ METADATA_HANDLE hMDHandle,
  165. /* [string][in][unique] */ LPCWSTR pszMDPath,
  166. /* [in] */ DWORD dwMDIdentifier,
  167. /* [in] */ DWORD dwMDDataType) = 0;
  168. virtual /* [local] */ HRESULT STDMETHODCALLTYPE EnumData(
  169. /* [in] */ METADATA_HANDLE hMDHandle,
  170. /* [string][in][unique] */ LPCWSTR pszMDPath,
  171. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  172. /* [in] */ DWORD dwMDEnumDataIndex,
  173. /* [out] */ DWORD *pdwMDRequiredDataLen) = 0;
  174. virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetAllData(
  175. /* [in] */ METADATA_HANDLE hMDHandle,
  176. /* [string][in][unique] */ LPCWSTR pszMDPath,
  177. /* [in] */ DWORD dwMDAttributes,
  178. /* [in] */ DWORD dwMDUserType,
  179. /* [in] */ DWORD dwMDDataType,
  180. /* [out] */ DWORD *pdwMDNumDataEntries,
  181. /* [out] */ DWORD *pdwMDDataSetNumber,
  182. /* [in] */ DWORD dwMDBufferSize,
  183. /* [size_is][out] */ unsigned char *pbMDBuffer,
  184. /* [out] */ DWORD *pdwMDRequiredBufferSize) = 0;
  185. virtual HRESULT STDMETHODCALLTYPE DeleteAllData(
  186. /* [in] */ METADATA_HANDLE hMDHandle,
  187. /* [string][in][unique] */ LPCWSTR pszMDPath,
  188. /* [in] */ DWORD dwMDUserType,
  189. /* [in] */ DWORD dwMDDataType) = 0;
  190. virtual HRESULT STDMETHODCALLTYPE CopyData(
  191. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  192. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  193. /* [in] */ METADATA_HANDLE hMDDestHandle,
  194. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  195. /* [in] */ DWORD dwMDAttributes,
  196. /* [in] */ DWORD dwMDUserType,
  197. /* [in] */ DWORD dwMDDataType,
  198. /* [in] */ BOOL bMDCopyFlag) = 0;
  199. virtual HRESULT STDMETHODCALLTYPE GetDataPaths(
  200. /* [in] */ METADATA_HANDLE hMDHandle,
  201. /* [string][in][unique] */ LPCWSTR pszMDPath,
  202. /* [in] */ DWORD dwMDIdentifier,
  203. /* [in] */ DWORD dwMDDataType,
  204. /* [in] */ DWORD dwMDBufferSize,
  205. /* [size_is][out] */ WCHAR *pszBuffer,
  206. /* [out] */ DWORD *pdwMDRequiredBufferSize) = 0;
  207. virtual HRESULT STDMETHODCALLTYPE OpenKey(
  208. /* [in] */ METADATA_HANDLE hMDHandle,
  209. /* [string][in][unique] */ LPCWSTR pszMDPath,
  210. /* [in] */ DWORD dwMDAccessRequested,
  211. /* [in] */ DWORD dwMDTimeOut,
  212. /* [out] */ PMETADATA_HANDLE phMDNewHandle) = 0;
  213. virtual HRESULT STDMETHODCALLTYPE CloseKey(
  214. /* [in] */ METADATA_HANDLE hMDHandle) = 0;
  215. virtual HRESULT STDMETHODCALLTYPE ChangePermissions(
  216. /* [in] */ METADATA_HANDLE hMDHandle,
  217. /* [in] */ DWORD dwMDTimeOut,
  218. /* [in] */ DWORD dwMDAccessRequested) = 0;
  219. virtual HRESULT STDMETHODCALLTYPE SaveData( void) = 0;
  220. virtual HRESULT STDMETHODCALLTYPE GetHandleInfo(
  221. /* [in] */ METADATA_HANDLE hMDHandle,
  222. /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo) = 0;
  223. virtual HRESULT STDMETHODCALLTYPE GetSystemChangeNumber(
  224. /* [out] */ DWORD *pdwSystemChangeNumber) = 0;
  225. virtual HRESULT STDMETHODCALLTYPE GetDataSetNumber(
  226. /* [in] */ METADATA_HANDLE hMDHandle,
  227. /* [string][in][unique] */ LPCWSTR pszMDPath,
  228. /* [out] */ DWORD *pdwMDDataSetNumber) = 0;
  229. virtual HRESULT STDMETHODCALLTYPE SetLastChangeTime(
  230. /* [in] */ METADATA_HANDLE hMDHandle,
  231. /* [string][in][unique] */ LPCWSTR pszMDPath,
  232. /* [in] */ PFILETIME pftMDLastChangeTime,
  233. /* [in] */ BOOL bLocalTime) = 0;
  234. virtual HRESULT STDMETHODCALLTYPE GetLastChangeTime(
  235. /* [in] */ METADATA_HANDLE hMDHandle,
  236. /* [string][in][unique] */ LPCWSTR pszMDPath,
  237. /* [out] */ PFILETIME pftMDLastChangeTime,
  238. /* [in] */ BOOL bLocalTime) = 0;
  239. virtual /* [restricted][local] */ HRESULT STDMETHODCALLTYPE KeyExchangePhase1( void) = 0;
  240. virtual /* [restricted][local] */ HRESULT STDMETHODCALLTYPE KeyExchangePhase2( void) = 0;
  241. virtual HRESULT STDMETHODCALLTYPE Backup(
  242. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  243. /* [in] */ DWORD dwMDVersion,
  244. /* [in] */ DWORD dwMDFlags) = 0;
  245. virtual HRESULT STDMETHODCALLTYPE Restore(
  246. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  247. /* [in] */ DWORD dwMDVersion,
  248. /* [in] */ DWORD dwMDFlags) = 0;
  249. virtual HRESULT STDMETHODCALLTYPE EnumBackups(
  250. /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  251. /* [out] */ DWORD *pdwMDVersion,
  252. /* [out] */ PFILETIME pftMDBackupTime,
  253. /* [in] */ DWORD dwMDEnumIndex) = 0;
  254. virtual HRESULT STDMETHODCALLTYPE DeleteBackup(
  255. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  256. /* [in] */ DWORD dwMDVersion) = 0;
  257. virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface(
  258. /* [out] */ IMSAdminBaseW **piadmbwInterface) = 0;
  259. virtual /* [restricted][local] */ HRESULT STDMETHODCALLTYPE GetServerGuid( void) = 0;
  260. };
  261. #else /* C style interface */
  262. typedef struct IMSAdminBaseWVtbl
  263. {
  264. BEGIN_INTERFACE
  265. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  266. IMSAdminBaseW * This,
  267. /* [in] */ REFIID riid,
  268. /* [iid_is][out] */ void **ppvObject);
  269. ULONG ( STDMETHODCALLTYPE *AddRef )(
  270. IMSAdminBaseW * This);
  271. ULONG ( STDMETHODCALLTYPE *Release )(
  272. IMSAdminBaseW * This);
  273. HRESULT ( STDMETHODCALLTYPE *AddKey )(
  274. IMSAdminBaseW * This,
  275. /* [in] */ METADATA_HANDLE hMDHandle,
  276. /* [string][in][unique] */ LPCWSTR pszMDPath);
  277. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  278. IMSAdminBaseW * This,
  279. /* [in] */ METADATA_HANDLE hMDHandle,
  280. /* [string][in][unique] */ LPCWSTR pszMDPath);
  281. HRESULT ( STDMETHODCALLTYPE *DeleteChildKeys )(
  282. IMSAdminBaseW * This,
  283. /* [in] */ METADATA_HANDLE hMDHandle,
  284. /* [string][in][unique] */ LPCWSTR pszMDPath);
  285. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  286. IMSAdminBaseW * This,
  287. /* [in] */ METADATA_HANDLE hMDHandle,
  288. /* [string][in][unique] */ LPCWSTR pszMDPath,
  289. /* [size_is][out] */ LPWSTR pszMDName,
  290. /* [in] */ DWORD dwMDEnumObjectIndex);
  291. HRESULT ( STDMETHODCALLTYPE *CopyKey )(
  292. IMSAdminBaseW * This,
  293. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  294. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  295. /* [in] */ METADATA_HANDLE hMDDestHandle,
  296. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  297. /* [in] */ BOOL bMDOverwriteFlag,
  298. /* [in] */ BOOL bMDCopyFlag);
  299. HRESULT ( STDMETHODCALLTYPE *RenameKey )(
  300. IMSAdminBaseW * This,
  301. /* [in] */ METADATA_HANDLE hMDHandle,
  302. /* [string][in][unique] */ LPCWSTR pszMDPath,
  303. /* [string][in][unique] */ LPCWSTR pszMDNewName);
  304. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetData )(
  305. IMSAdminBaseW * This,
  306. /* [in] */ METADATA_HANDLE hMDHandle,
  307. /* [string][in][unique] */ LPCWSTR pszMDPath,
  308. /* [in] */ PMETADATA_RECORD pmdrMDData);
  309. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetData )(
  310. IMSAdminBaseW * This,
  311. /* [in] */ METADATA_HANDLE hMDHandle,
  312. /* [string][in][unique] */ LPCWSTR pszMDPath,
  313. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  314. /* [out] */ DWORD *pdwMDRequiredDataLen);
  315. HRESULT ( STDMETHODCALLTYPE *DeleteData )(
  316. IMSAdminBaseW * This,
  317. /* [in] */ METADATA_HANDLE hMDHandle,
  318. /* [string][in][unique] */ LPCWSTR pszMDPath,
  319. /* [in] */ DWORD dwMDIdentifier,
  320. /* [in] */ DWORD dwMDDataType);
  321. /* [local] */ HRESULT ( STDMETHODCALLTYPE *EnumData )(
  322. IMSAdminBaseW * This,
  323. /* [in] */ METADATA_HANDLE hMDHandle,
  324. /* [string][in][unique] */ LPCWSTR pszMDPath,
  325. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  326. /* [in] */ DWORD dwMDEnumDataIndex,
  327. /* [out] */ DWORD *pdwMDRequiredDataLen);
  328. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetAllData )(
  329. IMSAdminBaseW * This,
  330. /* [in] */ METADATA_HANDLE hMDHandle,
  331. /* [string][in][unique] */ LPCWSTR pszMDPath,
  332. /* [in] */ DWORD dwMDAttributes,
  333. /* [in] */ DWORD dwMDUserType,
  334. /* [in] */ DWORD dwMDDataType,
  335. /* [out] */ DWORD *pdwMDNumDataEntries,
  336. /* [out] */ DWORD *pdwMDDataSetNumber,
  337. /* [in] */ DWORD dwMDBufferSize,
  338. /* [size_is][out] */ unsigned char *pbMDBuffer,
  339. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  340. HRESULT ( STDMETHODCALLTYPE *DeleteAllData )(
  341. IMSAdminBaseW * This,
  342. /* [in] */ METADATA_HANDLE hMDHandle,
  343. /* [string][in][unique] */ LPCWSTR pszMDPath,
  344. /* [in] */ DWORD dwMDUserType,
  345. /* [in] */ DWORD dwMDDataType);
  346. HRESULT ( STDMETHODCALLTYPE *CopyData )(
  347. IMSAdminBaseW * This,
  348. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  349. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  350. /* [in] */ METADATA_HANDLE hMDDestHandle,
  351. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  352. /* [in] */ DWORD dwMDAttributes,
  353. /* [in] */ DWORD dwMDUserType,
  354. /* [in] */ DWORD dwMDDataType,
  355. /* [in] */ BOOL bMDCopyFlag);
  356. HRESULT ( STDMETHODCALLTYPE *GetDataPaths )(
  357. IMSAdminBaseW * This,
  358. /* [in] */ METADATA_HANDLE hMDHandle,
  359. /* [string][in][unique] */ LPCWSTR pszMDPath,
  360. /* [in] */ DWORD dwMDIdentifier,
  361. /* [in] */ DWORD dwMDDataType,
  362. /* [in] */ DWORD dwMDBufferSize,
  363. /* [size_is][out] */ WCHAR *pszBuffer,
  364. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  365. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  366. IMSAdminBaseW * This,
  367. /* [in] */ METADATA_HANDLE hMDHandle,
  368. /* [string][in][unique] */ LPCWSTR pszMDPath,
  369. /* [in] */ DWORD dwMDAccessRequested,
  370. /* [in] */ DWORD dwMDTimeOut,
  371. /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  372. HRESULT ( STDMETHODCALLTYPE *CloseKey )(
  373. IMSAdminBaseW * This,
  374. /* [in] */ METADATA_HANDLE hMDHandle);
  375. HRESULT ( STDMETHODCALLTYPE *ChangePermissions )(
  376. IMSAdminBaseW * This,
  377. /* [in] */ METADATA_HANDLE hMDHandle,
  378. /* [in] */ DWORD dwMDTimeOut,
  379. /* [in] */ DWORD dwMDAccessRequested);
  380. HRESULT ( STDMETHODCALLTYPE *SaveData )(
  381. IMSAdminBaseW * This);
  382. HRESULT ( STDMETHODCALLTYPE *GetHandleInfo )(
  383. IMSAdminBaseW * This,
  384. /* [in] */ METADATA_HANDLE hMDHandle,
  385. /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo);
  386. HRESULT ( STDMETHODCALLTYPE *GetSystemChangeNumber )(
  387. IMSAdminBaseW * This,
  388. /* [out] */ DWORD *pdwSystemChangeNumber);
  389. HRESULT ( STDMETHODCALLTYPE *GetDataSetNumber )(
  390. IMSAdminBaseW * This,
  391. /* [in] */ METADATA_HANDLE hMDHandle,
  392. /* [string][in][unique] */ LPCWSTR pszMDPath,
  393. /* [out] */ DWORD *pdwMDDataSetNumber);
  394. HRESULT ( STDMETHODCALLTYPE *SetLastChangeTime )(
  395. IMSAdminBaseW * This,
  396. /* [in] */ METADATA_HANDLE hMDHandle,
  397. /* [string][in][unique] */ LPCWSTR pszMDPath,
  398. /* [in] */ PFILETIME pftMDLastChangeTime,
  399. /* [in] */ BOOL bLocalTime);
  400. HRESULT ( STDMETHODCALLTYPE *GetLastChangeTime )(
  401. IMSAdminBaseW * This,
  402. /* [in] */ METADATA_HANDLE hMDHandle,
  403. /* [string][in][unique] */ LPCWSTR pszMDPath,
  404. /* [out] */ PFILETIME pftMDLastChangeTime,
  405. /* [in] */ BOOL bLocalTime);
  406. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *KeyExchangePhase1 )(
  407. IMSAdminBaseW * This);
  408. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *KeyExchangePhase2 )(
  409. IMSAdminBaseW * This);
  410. HRESULT ( STDMETHODCALLTYPE *Backup )(
  411. IMSAdminBaseW * This,
  412. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  413. /* [in] */ DWORD dwMDVersion,
  414. /* [in] */ DWORD dwMDFlags);
  415. HRESULT ( STDMETHODCALLTYPE *Restore )(
  416. IMSAdminBaseW * This,
  417. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  418. /* [in] */ DWORD dwMDVersion,
  419. /* [in] */ DWORD dwMDFlags);
  420. HRESULT ( STDMETHODCALLTYPE *EnumBackups )(
  421. IMSAdminBaseW * This,
  422. /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  423. /* [out] */ DWORD *pdwMDVersion,
  424. /* [out] */ PFILETIME pftMDBackupTime,
  425. /* [in] */ DWORD dwMDEnumIndex);
  426. HRESULT ( STDMETHODCALLTYPE *DeleteBackup )(
  427. IMSAdminBaseW * This,
  428. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  429. /* [in] */ DWORD dwMDVersion);
  430. HRESULT ( STDMETHODCALLTYPE *UnmarshalInterface )(
  431. IMSAdminBaseW * This,
  432. /* [out] */ IMSAdminBaseW **piadmbwInterface);
  433. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *GetServerGuid )(
  434. IMSAdminBaseW * This);
  435. END_INTERFACE
  436. } IMSAdminBaseWVtbl;
  437. interface IMSAdminBaseW
  438. {
  439. CONST_VTBL struct IMSAdminBaseWVtbl *lpVtbl;
  440. };
  441. #ifdef COBJMACROS
  442. #define IMSAdminBaseW_QueryInterface(This,riid,ppvObject) \
  443. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  444. #define IMSAdminBaseW_AddRef(This) \
  445. (This)->lpVtbl -> AddRef(This)
  446. #define IMSAdminBaseW_Release(This) \
  447. (This)->lpVtbl -> Release(This)
  448. #define IMSAdminBaseW_AddKey(This,hMDHandle,pszMDPath) \
  449. (This)->lpVtbl -> AddKey(This,hMDHandle,pszMDPath)
  450. #define IMSAdminBaseW_DeleteKey(This,hMDHandle,pszMDPath) \
  451. (This)->lpVtbl -> DeleteKey(This,hMDHandle,pszMDPath)
  452. #define IMSAdminBaseW_DeleteChildKeys(This,hMDHandle,pszMDPath) \
  453. (This)->lpVtbl -> DeleteChildKeys(This,hMDHandle,pszMDPath)
  454. #define IMSAdminBaseW_EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex) \
  455. (This)->lpVtbl -> EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)
  456. #define IMSAdminBaseW_CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag) \
  457. (This)->lpVtbl -> CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)
  458. #define IMSAdminBaseW_RenameKey(This,hMDHandle,pszMDPath,pszMDNewName) \
  459. (This)->lpVtbl -> RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)
  460. #define IMSAdminBaseW_SetData(This,hMDHandle,pszMDPath,pmdrMDData) \
  461. (This)->lpVtbl -> SetData(This,hMDHandle,pszMDPath,pmdrMDData)
  462. #define IMSAdminBaseW_GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen) \
  463. (This)->lpVtbl -> GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)
  464. #define IMSAdminBaseW_DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType) \
  465. (This)->lpVtbl -> DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)
  466. #define IMSAdminBaseW_EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen) \
  467. (This)->lpVtbl -> EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)
  468. #define IMSAdminBaseW_GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize) \
  469. (This)->lpVtbl -> GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)
  470. #define IMSAdminBaseW_DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType) \
  471. (This)->lpVtbl -> DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)
  472. #define IMSAdminBaseW_CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag) \
  473. (This)->lpVtbl -> CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)
  474. #define IMSAdminBaseW_GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) \
  475. (This)->lpVtbl -> GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
  476. #define IMSAdminBaseW_OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle) \
  477. (This)->lpVtbl -> OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)
  478. #define IMSAdminBaseW_CloseKey(This,hMDHandle) \
  479. (This)->lpVtbl -> CloseKey(This,hMDHandle)
  480. #define IMSAdminBaseW_ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested) \
  481. (This)->lpVtbl -> ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)
  482. #define IMSAdminBaseW_SaveData(This) \
  483. (This)->lpVtbl -> SaveData(This)
  484. #define IMSAdminBaseW_GetHandleInfo(This,hMDHandle,pmdhiInfo) \
  485. (This)->lpVtbl -> GetHandleInfo(This,hMDHandle,pmdhiInfo)
  486. #define IMSAdminBaseW_GetSystemChangeNumber(This,pdwSystemChangeNumber) \
  487. (This)->lpVtbl -> GetSystemChangeNumber(This,pdwSystemChangeNumber)
  488. #define IMSAdminBaseW_GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber) \
  489. (This)->lpVtbl -> GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)
  490. #define IMSAdminBaseW_SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) \
  491. (This)->lpVtbl -> SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  492. #define IMSAdminBaseW_GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) \
  493. (This)->lpVtbl -> GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  494. #define IMSAdminBaseW_KeyExchangePhase1(This) \
  495. (This)->lpVtbl -> KeyExchangePhase1(This)
  496. #define IMSAdminBaseW_KeyExchangePhase2(This) \
  497. (This)->lpVtbl -> KeyExchangePhase2(This)
  498. #define IMSAdminBaseW_Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) \
  499. (This)->lpVtbl -> Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  500. #define IMSAdminBaseW_Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) \
  501. (This)->lpVtbl -> Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  502. #define IMSAdminBaseW_EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex) \
  503. (This)->lpVtbl -> EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)
  504. #define IMSAdminBaseW_DeleteBackup(This,pszMDBackupLocation,dwMDVersion) \
  505. (This)->lpVtbl -> DeleteBackup(This,pszMDBackupLocation,dwMDVersion)
  506. #define IMSAdminBaseW_UnmarshalInterface(This,piadmbwInterface) \
  507. (This)->lpVtbl -> UnmarshalInterface(This,piadmbwInterface)
  508. #define IMSAdminBaseW_GetServerGuid(This) \
  509. (This)->lpVtbl -> GetServerGuid(This)
  510. #endif /* COBJMACROS */
  511. #endif /* C style interface */
  512. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_AddKey_Proxy(
  513. IMSAdminBaseW * This,
  514. /* [in] */ METADATA_HANDLE hMDHandle,
  515. /* [string][in][unique] */ LPCWSTR pszMDPath);
  516. void __RPC_STUB IMSAdminBaseW_AddKey_Stub(
  517. IRpcStubBuffer *This,
  518. IRpcChannelBuffer *_pRpcChannelBuffer,
  519. PRPC_MESSAGE _pRpcMessage,
  520. DWORD *_pdwStubPhase);
  521. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteKey_Proxy(
  522. IMSAdminBaseW * This,
  523. /* [in] */ METADATA_HANDLE hMDHandle,
  524. /* [string][in][unique] */ LPCWSTR pszMDPath);
  525. void __RPC_STUB IMSAdminBaseW_DeleteKey_Stub(
  526. IRpcStubBuffer *This,
  527. IRpcChannelBuffer *_pRpcChannelBuffer,
  528. PRPC_MESSAGE _pRpcMessage,
  529. DWORD *_pdwStubPhase);
  530. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteChildKeys_Proxy(
  531. IMSAdminBaseW * This,
  532. /* [in] */ METADATA_HANDLE hMDHandle,
  533. /* [string][in][unique] */ LPCWSTR pszMDPath);
  534. void __RPC_STUB IMSAdminBaseW_DeleteChildKeys_Stub(
  535. IRpcStubBuffer *This,
  536. IRpcChannelBuffer *_pRpcChannelBuffer,
  537. PRPC_MESSAGE _pRpcMessage,
  538. DWORD *_pdwStubPhase);
  539. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumKeys_Proxy(
  540. IMSAdminBaseW * This,
  541. /* [in] */ METADATA_HANDLE hMDHandle,
  542. /* [string][in][unique] */ LPCWSTR pszMDPath,
  543. /* [size_is][out] */ LPWSTR pszMDName,
  544. /* [in] */ DWORD dwMDEnumObjectIndex);
  545. void __RPC_STUB IMSAdminBaseW_EnumKeys_Stub(
  546. IRpcStubBuffer *This,
  547. IRpcChannelBuffer *_pRpcChannelBuffer,
  548. PRPC_MESSAGE _pRpcMessage,
  549. DWORD *_pdwStubPhase);
  550. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_CopyKey_Proxy(
  551. IMSAdminBaseW * This,
  552. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  553. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  554. /* [in] */ METADATA_HANDLE hMDDestHandle,
  555. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  556. /* [in] */ BOOL bMDOverwriteFlag,
  557. /* [in] */ BOOL bMDCopyFlag);
  558. void __RPC_STUB IMSAdminBaseW_CopyKey_Stub(
  559. IRpcStubBuffer *This,
  560. IRpcChannelBuffer *_pRpcChannelBuffer,
  561. PRPC_MESSAGE _pRpcMessage,
  562. DWORD *_pdwStubPhase);
  563. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_RenameKey_Proxy(
  564. IMSAdminBaseW * This,
  565. /* [in] */ METADATA_HANDLE hMDHandle,
  566. /* [string][in][unique] */ LPCWSTR pszMDPath,
  567. /* [string][in][unique] */ LPCWSTR pszMDNewName);
  568. void __RPC_STUB IMSAdminBaseW_RenameKey_Stub(
  569. IRpcStubBuffer *This,
  570. IRpcChannelBuffer *_pRpcChannelBuffer,
  571. PRPC_MESSAGE _pRpcMessage,
  572. DWORD *_pdwStubPhase);
  573. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_SetData_Proxy(
  574. IMSAdminBaseW * This,
  575. /* [in] */ METADATA_HANDLE hMDHandle,
  576. /* [string][in][unique] */ LPCWSTR pszMDPath,
  577. /* [in] */ PMETADATA_RECORD pmdrMDData);
  578. void __RPC_STUB IMSAdminBaseW_R_SetData_Stub(
  579. IRpcStubBuffer *This,
  580. IRpcChannelBuffer *_pRpcChannelBuffer,
  581. PRPC_MESSAGE _pRpcMessage,
  582. DWORD *_pdwStubPhase);
  583. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_GetData_Proxy(
  584. IMSAdminBaseW * This,
  585. /* [in] */ METADATA_HANDLE hMDHandle,
  586. /* [string][in][unique] */ LPCWSTR pszMDPath,
  587. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  588. /* [out] */ DWORD *pdwMDRequiredDataLen,
  589. /* [out] */ struct _IIS_CRYPTO_BLOB **ppDataBlob);
  590. void __RPC_STUB IMSAdminBaseW_R_GetData_Stub(
  591. IRpcStubBuffer *This,
  592. IRpcChannelBuffer *_pRpcChannelBuffer,
  593. PRPC_MESSAGE _pRpcMessage,
  594. DWORD *_pdwStubPhase);
  595. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteData_Proxy(
  596. IMSAdminBaseW * This,
  597. /* [in] */ METADATA_HANDLE hMDHandle,
  598. /* [string][in][unique] */ LPCWSTR pszMDPath,
  599. /* [in] */ DWORD dwMDIdentifier,
  600. /* [in] */ DWORD dwMDDataType);
  601. void __RPC_STUB IMSAdminBaseW_DeleteData_Stub(
  602. IRpcStubBuffer *This,
  603. IRpcChannelBuffer *_pRpcChannelBuffer,
  604. PRPC_MESSAGE _pRpcMessage,
  605. DWORD *_pdwStubPhase);
  606. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_EnumData_Proxy(
  607. IMSAdminBaseW * This,
  608. /* [in] */ METADATA_HANDLE hMDHandle,
  609. /* [string][in][unique] */ LPCWSTR pszMDPath,
  610. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  611. /* [in] */ DWORD dwMDEnumDataIndex,
  612. /* [out] */ DWORD *pdwMDRequiredDataLen,
  613. /* [out] */ struct _IIS_CRYPTO_BLOB **ppDataBlob);
  614. void __RPC_STUB IMSAdminBaseW_R_EnumData_Stub(
  615. IRpcStubBuffer *This,
  616. IRpcChannelBuffer *_pRpcChannelBuffer,
  617. PRPC_MESSAGE _pRpcMessage,
  618. DWORD *_pdwStubPhase);
  619. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_GetAllData_Proxy(
  620. IMSAdminBaseW * This,
  621. /* [in] */ METADATA_HANDLE hMDHandle,
  622. /* [string][in][unique] */ LPCWSTR pszMDPath,
  623. /* [in] */ DWORD dwMDAttributes,
  624. /* [in] */ DWORD dwMDUserType,
  625. /* [in] */ DWORD dwMDDataType,
  626. /* [out] */ DWORD *pdwMDNumDataEntries,
  627. /* [out] */ DWORD *pdwMDDataSetNumber,
  628. /* [in] */ DWORD dwMDBufferSize,
  629. /* [out] */ DWORD *pdwMDRequiredBufferSize,
  630. /* [out] */ struct _IIS_CRYPTO_BLOB **ppDataBlob);
  631. void __RPC_STUB IMSAdminBaseW_R_GetAllData_Stub(
  632. IRpcStubBuffer *This,
  633. IRpcChannelBuffer *_pRpcChannelBuffer,
  634. PRPC_MESSAGE _pRpcMessage,
  635. DWORD *_pdwStubPhase);
  636. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteAllData_Proxy(
  637. IMSAdminBaseW * This,
  638. /* [in] */ METADATA_HANDLE hMDHandle,
  639. /* [string][in][unique] */ LPCWSTR pszMDPath,
  640. /* [in] */ DWORD dwMDUserType,
  641. /* [in] */ DWORD dwMDDataType);
  642. void __RPC_STUB IMSAdminBaseW_DeleteAllData_Stub(
  643. IRpcStubBuffer *This,
  644. IRpcChannelBuffer *_pRpcChannelBuffer,
  645. PRPC_MESSAGE _pRpcMessage,
  646. DWORD *_pdwStubPhase);
  647. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_CopyData_Proxy(
  648. IMSAdminBaseW * This,
  649. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  650. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  651. /* [in] */ METADATA_HANDLE hMDDestHandle,
  652. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  653. /* [in] */ DWORD dwMDAttributes,
  654. /* [in] */ DWORD dwMDUserType,
  655. /* [in] */ DWORD dwMDDataType,
  656. /* [in] */ BOOL bMDCopyFlag);
  657. void __RPC_STUB IMSAdminBaseW_CopyData_Stub(
  658. IRpcStubBuffer *This,
  659. IRpcChannelBuffer *_pRpcChannelBuffer,
  660. PRPC_MESSAGE _pRpcMessage,
  661. DWORD *_pdwStubPhase);
  662. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetDataPaths_Proxy(
  663. IMSAdminBaseW * This,
  664. /* [in] */ METADATA_HANDLE hMDHandle,
  665. /* [string][in][unique] */ LPCWSTR pszMDPath,
  666. /* [in] */ DWORD dwMDIdentifier,
  667. /* [in] */ DWORD dwMDDataType,
  668. /* [in] */ DWORD dwMDBufferSize,
  669. /* [size_is][out] */ WCHAR *pszBuffer,
  670. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  671. void __RPC_STUB IMSAdminBaseW_GetDataPaths_Stub(
  672. IRpcStubBuffer *This,
  673. IRpcChannelBuffer *_pRpcChannelBuffer,
  674. PRPC_MESSAGE _pRpcMessage,
  675. DWORD *_pdwStubPhase);
  676. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_OpenKey_Proxy(
  677. IMSAdminBaseW * This,
  678. /* [in] */ METADATA_HANDLE hMDHandle,
  679. /* [string][in][unique] */ LPCWSTR pszMDPath,
  680. /* [in] */ DWORD dwMDAccessRequested,
  681. /* [in] */ DWORD dwMDTimeOut,
  682. /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  683. void __RPC_STUB IMSAdminBaseW_OpenKey_Stub(
  684. IRpcStubBuffer *This,
  685. IRpcChannelBuffer *_pRpcChannelBuffer,
  686. PRPC_MESSAGE _pRpcMessage,
  687. DWORD *_pdwStubPhase);
  688. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_CloseKey_Proxy(
  689. IMSAdminBaseW * This,
  690. /* [in] */ METADATA_HANDLE hMDHandle);
  691. void __RPC_STUB IMSAdminBaseW_CloseKey_Stub(
  692. IRpcStubBuffer *This,
  693. IRpcChannelBuffer *_pRpcChannelBuffer,
  694. PRPC_MESSAGE _pRpcMessage,
  695. DWORD *_pdwStubPhase);
  696. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_ChangePermissions_Proxy(
  697. IMSAdminBaseW * This,
  698. /* [in] */ METADATA_HANDLE hMDHandle,
  699. /* [in] */ DWORD dwMDTimeOut,
  700. /* [in] */ DWORD dwMDAccessRequested);
  701. void __RPC_STUB IMSAdminBaseW_ChangePermissions_Stub(
  702. IRpcStubBuffer *This,
  703. IRpcChannelBuffer *_pRpcChannelBuffer,
  704. PRPC_MESSAGE _pRpcMessage,
  705. DWORD *_pdwStubPhase);
  706. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SaveData_Proxy(
  707. IMSAdminBaseW * This);
  708. void __RPC_STUB IMSAdminBaseW_SaveData_Stub(
  709. IRpcStubBuffer *This,
  710. IRpcChannelBuffer *_pRpcChannelBuffer,
  711. PRPC_MESSAGE _pRpcMessage,
  712. DWORD *_pdwStubPhase);
  713. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetHandleInfo_Proxy(
  714. IMSAdminBaseW * This,
  715. /* [in] */ METADATA_HANDLE hMDHandle,
  716. /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo);
  717. void __RPC_STUB IMSAdminBaseW_GetHandleInfo_Stub(
  718. IRpcStubBuffer *This,
  719. IRpcChannelBuffer *_pRpcChannelBuffer,
  720. PRPC_MESSAGE _pRpcMessage,
  721. DWORD *_pdwStubPhase);
  722. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetSystemChangeNumber_Proxy(
  723. IMSAdminBaseW * This,
  724. /* [out] */ DWORD *pdwSystemChangeNumber);
  725. void __RPC_STUB IMSAdminBaseW_GetSystemChangeNumber_Stub(
  726. IRpcStubBuffer *This,
  727. IRpcChannelBuffer *_pRpcChannelBuffer,
  728. PRPC_MESSAGE _pRpcMessage,
  729. DWORD *_pdwStubPhase);
  730. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetDataSetNumber_Proxy(
  731. IMSAdminBaseW * This,
  732. /* [in] */ METADATA_HANDLE hMDHandle,
  733. /* [string][in][unique] */ LPCWSTR pszMDPath,
  734. /* [out] */ DWORD *pdwMDDataSetNumber);
  735. void __RPC_STUB IMSAdminBaseW_GetDataSetNumber_Stub(
  736. IRpcStubBuffer *This,
  737. IRpcChannelBuffer *_pRpcChannelBuffer,
  738. PRPC_MESSAGE _pRpcMessage,
  739. DWORD *_pdwStubPhase);
  740. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SetLastChangeTime_Proxy(
  741. IMSAdminBaseW * This,
  742. /* [in] */ METADATA_HANDLE hMDHandle,
  743. /* [string][in][unique] */ LPCWSTR pszMDPath,
  744. /* [in] */ PFILETIME pftMDLastChangeTime,
  745. /* [in] */ BOOL bLocalTime);
  746. void __RPC_STUB IMSAdminBaseW_SetLastChangeTime_Stub(
  747. IRpcStubBuffer *This,
  748. IRpcChannelBuffer *_pRpcChannelBuffer,
  749. PRPC_MESSAGE _pRpcMessage,
  750. DWORD *_pdwStubPhase);
  751. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetLastChangeTime_Proxy(
  752. IMSAdminBaseW * This,
  753. /* [in] */ METADATA_HANDLE hMDHandle,
  754. /* [string][in][unique] */ LPCWSTR pszMDPath,
  755. /* [out] */ PFILETIME pftMDLastChangeTime,
  756. /* [in] */ BOOL bLocalTime);
  757. void __RPC_STUB IMSAdminBaseW_GetLastChangeTime_Stub(
  758. IRpcStubBuffer *This,
  759. IRpcChannelBuffer *_pRpcChannelBuffer,
  760. PRPC_MESSAGE _pRpcMessage,
  761. DWORD *_pdwStubPhase);
  762. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_KeyExchangePhase1_Proxy(
  763. IMSAdminBaseW * This,
  764. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientKeyExchangeKeyBlob,
  765. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientSignatureKeyBlob,
  766. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerKeyExchangeKeyBlob,
  767. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerSignatureKeyBlob,
  768. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerSessionKeyBlob);
  769. void __RPC_STUB IMSAdminBaseW_R_KeyExchangePhase1_Stub(
  770. IRpcStubBuffer *This,
  771. IRpcChannelBuffer *_pRpcChannelBuffer,
  772. PRPC_MESSAGE _pRpcMessage,
  773. DWORD *_pdwStubPhase);
  774. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_KeyExchangePhase2_Proxy(
  775. IMSAdminBaseW * This,
  776. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientSessionKeyBlob,
  777. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientHashBlob,
  778. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerHashBlob);
  779. void __RPC_STUB IMSAdminBaseW_R_KeyExchangePhase2_Stub(
  780. IRpcStubBuffer *This,
  781. IRpcChannelBuffer *_pRpcChannelBuffer,
  782. PRPC_MESSAGE _pRpcMessage,
  783. DWORD *_pdwStubPhase);
  784. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_Backup_Proxy(
  785. IMSAdminBaseW * This,
  786. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  787. /* [in] */ DWORD dwMDVersion,
  788. /* [in] */ DWORD dwMDFlags);
  789. void __RPC_STUB IMSAdminBaseW_Backup_Stub(
  790. IRpcStubBuffer *This,
  791. IRpcChannelBuffer *_pRpcChannelBuffer,
  792. PRPC_MESSAGE _pRpcMessage,
  793. DWORD *_pdwStubPhase);
  794. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_Restore_Proxy(
  795. IMSAdminBaseW * This,
  796. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  797. /* [in] */ DWORD dwMDVersion,
  798. /* [in] */ DWORD dwMDFlags);
  799. void __RPC_STUB IMSAdminBaseW_Restore_Stub(
  800. IRpcStubBuffer *This,
  801. IRpcChannelBuffer *_pRpcChannelBuffer,
  802. PRPC_MESSAGE _pRpcMessage,
  803. DWORD *_pdwStubPhase);
  804. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumBackups_Proxy(
  805. IMSAdminBaseW * This,
  806. /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  807. /* [out] */ DWORD *pdwMDVersion,
  808. /* [out] */ PFILETIME pftMDBackupTime,
  809. /* [in] */ DWORD dwMDEnumIndex);
  810. void __RPC_STUB IMSAdminBaseW_EnumBackups_Stub(
  811. IRpcStubBuffer *This,
  812. IRpcChannelBuffer *_pRpcChannelBuffer,
  813. PRPC_MESSAGE _pRpcMessage,
  814. DWORD *_pdwStubPhase);
  815. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_DeleteBackup_Proxy(
  816. IMSAdminBaseW * This,
  817. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  818. /* [in] */ DWORD dwMDVersion);
  819. void __RPC_STUB IMSAdminBaseW_DeleteBackup_Stub(
  820. IRpcStubBuffer *This,
  821. IRpcChannelBuffer *_pRpcChannelBuffer,
  822. PRPC_MESSAGE _pRpcMessage,
  823. DWORD *_pdwStubPhase);
  824. HRESULT STDMETHODCALLTYPE IMSAdminBaseW_UnmarshalInterface_Proxy(
  825. IMSAdminBaseW * This,
  826. /* [out] */ IMSAdminBaseW **piadmbwInterface);
  827. void __RPC_STUB IMSAdminBaseW_UnmarshalInterface_Stub(
  828. IRpcStubBuffer *This,
  829. IRpcChannelBuffer *_pRpcChannelBuffer,
  830. PRPC_MESSAGE _pRpcMessage,
  831. DWORD *_pdwStubPhase);
  832. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_R_GetServerGuid_Proxy(
  833. IMSAdminBaseW * This,
  834. /* [out] */ GUID *pServerGuid);
  835. void __RPC_STUB IMSAdminBaseW_R_GetServerGuid_Stub(
  836. IRpcStubBuffer *This,
  837. IRpcChannelBuffer *_pRpcChannelBuffer,
  838. PRPC_MESSAGE _pRpcMessage,
  839. DWORD *_pdwStubPhase);
  840. #endif /* __IMSAdminBaseW_INTERFACE_DEFINED__ */
  841. #ifndef __IMSAdminBase2W_INTERFACE_DEFINED__
  842. #define __IMSAdminBase2W_INTERFACE_DEFINED__
  843. /* interface IMSAdminBase2W */
  844. /* [unique][uuid][object] */
  845. EXTERN_C const IID IID_IMSAdminBase2W;
  846. #if defined(__cplusplus) && !defined(CINTERFACE)
  847. MIDL_INTERFACE("8298d101-f992-43b7-8eca-5052d885b995")
  848. IMSAdminBase2W : public IMSAdminBaseW
  849. {
  850. public:
  851. virtual HRESULT STDMETHODCALLTYPE BackupWithPasswd(
  852. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  853. /* [in] */ DWORD dwMDVersion,
  854. /* [in] */ DWORD dwMDFlags,
  855. /* [string][in][unique] */ LPCWSTR pszPasswd) = 0;
  856. virtual HRESULT STDMETHODCALLTYPE RestoreWithPasswd(
  857. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  858. /* [in] */ DWORD dwMDVersion,
  859. /* [in] */ DWORD dwMDFlags,
  860. /* [string][in][unique] */ LPCWSTR pszPasswd) = 0;
  861. virtual HRESULT STDMETHODCALLTYPE Export(
  862. /* [string][in][unique] */ LPCWSTR pszPasswd,
  863. /* [string][in][unique] */ LPCWSTR pszFileName,
  864. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  865. /* [in] */ DWORD dwMDFlags) = 0;
  866. virtual HRESULT STDMETHODCALLTYPE Import(
  867. /* [string][in][unique] */ LPCWSTR pszPasswd,
  868. /* [string][in][unique] */ LPCWSTR pszFileName,
  869. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  870. /* [string][in][unique] */ LPCWSTR pszDestPath,
  871. /* [in] */ DWORD dwMDFlags) = 0;
  872. virtual HRESULT STDMETHODCALLTYPE RestoreHistory(
  873. /* [string][in][unique] */ LPCWSTR pszMDHistoryLocation,
  874. /* [in] */ DWORD dwMDMajorVersion,
  875. /* [in] */ DWORD dwMDMinorVersion,
  876. /* [in] */ DWORD dwMDFlags) = 0;
  877. virtual HRESULT STDMETHODCALLTYPE EnumHistory(
  878. /* [size_is][out][in] */ LPWSTR pszMDHistoryLocation,
  879. /* [out] */ DWORD *pdwMDMajorVersion,
  880. /* [out] */ DWORD *pdwMDMinorVersion,
  881. /* [out] */ PFILETIME pftMDHistoryTime,
  882. /* [in] */ DWORD dwMDEnumIndex) = 0;
  883. };
  884. #else /* C style interface */
  885. typedef struct IMSAdminBase2WVtbl
  886. {
  887. BEGIN_INTERFACE
  888. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  889. IMSAdminBase2W * This,
  890. /* [in] */ REFIID riid,
  891. /* [iid_is][out] */ void **ppvObject);
  892. ULONG ( STDMETHODCALLTYPE *AddRef )(
  893. IMSAdminBase2W * This);
  894. ULONG ( STDMETHODCALLTYPE *Release )(
  895. IMSAdminBase2W * This);
  896. HRESULT ( STDMETHODCALLTYPE *AddKey )(
  897. IMSAdminBase2W * This,
  898. /* [in] */ METADATA_HANDLE hMDHandle,
  899. /* [string][in][unique] */ LPCWSTR pszMDPath);
  900. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  901. IMSAdminBase2W * This,
  902. /* [in] */ METADATA_HANDLE hMDHandle,
  903. /* [string][in][unique] */ LPCWSTR pszMDPath);
  904. HRESULT ( STDMETHODCALLTYPE *DeleteChildKeys )(
  905. IMSAdminBase2W * This,
  906. /* [in] */ METADATA_HANDLE hMDHandle,
  907. /* [string][in][unique] */ LPCWSTR pszMDPath);
  908. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  909. IMSAdminBase2W * This,
  910. /* [in] */ METADATA_HANDLE hMDHandle,
  911. /* [string][in][unique] */ LPCWSTR pszMDPath,
  912. /* [size_is][out] */ LPWSTR pszMDName,
  913. /* [in] */ DWORD dwMDEnumObjectIndex);
  914. HRESULT ( STDMETHODCALLTYPE *CopyKey )(
  915. IMSAdminBase2W * This,
  916. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  917. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  918. /* [in] */ METADATA_HANDLE hMDDestHandle,
  919. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  920. /* [in] */ BOOL bMDOverwriteFlag,
  921. /* [in] */ BOOL bMDCopyFlag);
  922. HRESULT ( STDMETHODCALLTYPE *RenameKey )(
  923. IMSAdminBase2W * This,
  924. /* [in] */ METADATA_HANDLE hMDHandle,
  925. /* [string][in][unique] */ LPCWSTR pszMDPath,
  926. /* [string][in][unique] */ LPCWSTR pszMDNewName);
  927. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetData )(
  928. IMSAdminBase2W * This,
  929. /* [in] */ METADATA_HANDLE hMDHandle,
  930. /* [string][in][unique] */ LPCWSTR pszMDPath,
  931. /* [in] */ PMETADATA_RECORD pmdrMDData);
  932. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetData )(
  933. IMSAdminBase2W * This,
  934. /* [in] */ METADATA_HANDLE hMDHandle,
  935. /* [string][in][unique] */ LPCWSTR pszMDPath,
  936. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  937. /* [out] */ DWORD *pdwMDRequiredDataLen);
  938. HRESULT ( STDMETHODCALLTYPE *DeleteData )(
  939. IMSAdminBase2W * This,
  940. /* [in] */ METADATA_HANDLE hMDHandle,
  941. /* [string][in][unique] */ LPCWSTR pszMDPath,
  942. /* [in] */ DWORD dwMDIdentifier,
  943. /* [in] */ DWORD dwMDDataType);
  944. /* [local] */ HRESULT ( STDMETHODCALLTYPE *EnumData )(
  945. IMSAdminBase2W * This,
  946. /* [in] */ METADATA_HANDLE hMDHandle,
  947. /* [string][in][unique] */ LPCWSTR pszMDPath,
  948. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  949. /* [in] */ DWORD dwMDEnumDataIndex,
  950. /* [out] */ DWORD *pdwMDRequiredDataLen);
  951. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetAllData )(
  952. IMSAdminBase2W * This,
  953. /* [in] */ METADATA_HANDLE hMDHandle,
  954. /* [string][in][unique] */ LPCWSTR pszMDPath,
  955. /* [in] */ DWORD dwMDAttributes,
  956. /* [in] */ DWORD dwMDUserType,
  957. /* [in] */ DWORD dwMDDataType,
  958. /* [out] */ DWORD *pdwMDNumDataEntries,
  959. /* [out] */ DWORD *pdwMDDataSetNumber,
  960. /* [in] */ DWORD dwMDBufferSize,
  961. /* [size_is][out] */ unsigned char *pbMDBuffer,
  962. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  963. HRESULT ( STDMETHODCALLTYPE *DeleteAllData )(
  964. IMSAdminBase2W * This,
  965. /* [in] */ METADATA_HANDLE hMDHandle,
  966. /* [string][in][unique] */ LPCWSTR pszMDPath,
  967. /* [in] */ DWORD dwMDUserType,
  968. /* [in] */ DWORD dwMDDataType);
  969. HRESULT ( STDMETHODCALLTYPE *CopyData )(
  970. IMSAdminBase2W * This,
  971. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  972. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  973. /* [in] */ METADATA_HANDLE hMDDestHandle,
  974. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  975. /* [in] */ DWORD dwMDAttributes,
  976. /* [in] */ DWORD dwMDUserType,
  977. /* [in] */ DWORD dwMDDataType,
  978. /* [in] */ BOOL bMDCopyFlag);
  979. HRESULT ( STDMETHODCALLTYPE *GetDataPaths )(
  980. IMSAdminBase2W * This,
  981. /* [in] */ METADATA_HANDLE hMDHandle,
  982. /* [string][in][unique] */ LPCWSTR pszMDPath,
  983. /* [in] */ DWORD dwMDIdentifier,
  984. /* [in] */ DWORD dwMDDataType,
  985. /* [in] */ DWORD dwMDBufferSize,
  986. /* [size_is][out] */ WCHAR *pszBuffer,
  987. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  988. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  989. IMSAdminBase2W * This,
  990. /* [in] */ METADATA_HANDLE hMDHandle,
  991. /* [string][in][unique] */ LPCWSTR pszMDPath,
  992. /* [in] */ DWORD dwMDAccessRequested,
  993. /* [in] */ DWORD dwMDTimeOut,
  994. /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  995. HRESULT ( STDMETHODCALLTYPE *CloseKey )(
  996. IMSAdminBase2W * This,
  997. /* [in] */ METADATA_HANDLE hMDHandle);
  998. HRESULT ( STDMETHODCALLTYPE *ChangePermissions )(
  999. IMSAdminBase2W * This,
  1000. /* [in] */ METADATA_HANDLE hMDHandle,
  1001. /* [in] */ DWORD dwMDTimeOut,
  1002. /* [in] */ DWORD dwMDAccessRequested);
  1003. HRESULT ( STDMETHODCALLTYPE *SaveData )(
  1004. IMSAdminBase2W * This);
  1005. HRESULT ( STDMETHODCALLTYPE *GetHandleInfo )(
  1006. IMSAdminBase2W * This,
  1007. /* [in] */ METADATA_HANDLE hMDHandle,
  1008. /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo);
  1009. HRESULT ( STDMETHODCALLTYPE *GetSystemChangeNumber )(
  1010. IMSAdminBase2W * This,
  1011. /* [out] */ DWORD *pdwSystemChangeNumber);
  1012. HRESULT ( STDMETHODCALLTYPE *GetDataSetNumber )(
  1013. IMSAdminBase2W * This,
  1014. /* [in] */ METADATA_HANDLE hMDHandle,
  1015. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1016. /* [out] */ DWORD *pdwMDDataSetNumber);
  1017. HRESULT ( STDMETHODCALLTYPE *SetLastChangeTime )(
  1018. IMSAdminBase2W * This,
  1019. /* [in] */ METADATA_HANDLE hMDHandle,
  1020. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1021. /* [in] */ PFILETIME pftMDLastChangeTime,
  1022. /* [in] */ BOOL bLocalTime);
  1023. HRESULT ( STDMETHODCALLTYPE *GetLastChangeTime )(
  1024. IMSAdminBase2W * This,
  1025. /* [in] */ METADATA_HANDLE hMDHandle,
  1026. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1027. /* [out] */ PFILETIME pftMDLastChangeTime,
  1028. /* [in] */ BOOL bLocalTime);
  1029. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *KeyExchangePhase1 )(
  1030. IMSAdminBase2W * This);
  1031. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *KeyExchangePhase2 )(
  1032. IMSAdminBase2W * This);
  1033. HRESULT ( STDMETHODCALLTYPE *Backup )(
  1034. IMSAdminBase2W * This,
  1035. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1036. /* [in] */ DWORD dwMDVersion,
  1037. /* [in] */ DWORD dwMDFlags);
  1038. HRESULT ( STDMETHODCALLTYPE *Restore )(
  1039. IMSAdminBase2W * This,
  1040. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1041. /* [in] */ DWORD dwMDVersion,
  1042. /* [in] */ DWORD dwMDFlags);
  1043. HRESULT ( STDMETHODCALLTYPE *EnumBackups )(
  1044. IMSAdminBase2W * This,
  1045. /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  1046. /* [out] */ DWORD *pdwMDVersion,
  1047. /* [out] */ PFILETIME pftMDBackupTime,
  1048. /* [in] */ DWORD dwMDEnumIndex);
  1049. HRESULT ( STDMETHODCALLTYPE *DeleteBackup )(
  1050. IMSAdminBase2W * This,
  1051. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1052. /* [in] */ DWORD dwMDVersion);
  1053. HRESULT ( STDMETHODCALLTYPE *UnmarshalInterface )(
  1054. IMSAdminBase2W * This,
  1055. /* [out] */ IMSAdminBaseW **piadmbwInterface);
  1056. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *GetServerGuid )(
  1057. IMSAdminBase2W * This);
  1058. HRESULT ( STDMETHODCALLTYPE *BackupWithPasswd )(
  1059. IMSAdminBase2W * This,
  1060. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1061. /* [in] */ DWORD dwMDVersion,
  1062. /* [in] */ DWORD dwMDFlags,
  1063. /* [string][in][unique] */ LPCWSTR pszPasswd);
  1064. HRESULT ( STDMETHODCALLTYPE *RestoreWithPasswd )(
  1065. IMSAdminBase2W * This,
  1066. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1067. /* [in] */ DWORD dwMDVersion,
  1068. /* [in] */ DWORD dwMDFlags,
  1069. /* [string][in][unique] */ LPCWSTR pszPasswd);
  1070. HRESULT ( STDMETHODCALLTYPE *Export )(
  1071. IMSAdminBase2W * This,
  1072. /* [string][in][unique] */ LPCWSTR pszPasswd,
  1073. /* [string][in][unique] */ LPCWSTR pszFileName,
  1074. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  1075. /* [in] */ DWORD dwMDFlags);
  1076. HRESULT ( STDMETHODCALLTYPE *Import )(
  1077. IMSAdminBase2W * This,
  1078. /* [string][in][unique] */ LPCWSTR pszPasswd,
  1079. /* [string][in][unique] */ LPCWSTR pszFileName,
  1080. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  1081. /* [string][in][unique] */ LPCWSTR pszDestPath,
  1082. /* [in] */ DWORD dwMDFlags);
  1083. HRESULT ( STDMETHODCALLTYPE *RestoreHistory )(
  1084. IMSAdminBase2W * This,
  1085. /* [string][in][unique] */ LPCWSTR pszMDHistoryLocation,
  1086. /* [in] */ DWORD dwMDMajorVersion,
  1087. /* [in] */ DWORD dwMDMinorVersion,
  1088. /* [in] */ DWORD dwMDFlags);
  1089. HRESULT ( STDMETHODCALLTYPE *EnumHistory )(
  1090. IMSAdminBase2W * This,
  1091. /* [size_is][out][in] */ LPWSTR pszMDHistoryLocation,
  1092. /* [out] */ DWORD *pdwMDMajorVersion,
  1093. /* [out] */ DWORD *pdwMDMinorVersion,
  1094. /* [out] */ PFILETIME pftMDHistoryTime,
  1095. /* [in] */ DWORD dwMDEnumIndex);
  1096. END_INTERFACE
  1097. } IMSAdminBase2WVtbl;
  1098. interface IMSAdminBase2W
  1099. {
  1100. CONST_VTBL struct IMSAdminBase2WVtbl *lpVtbl;
  1101. };
  1102. #ifdef COBJMACROS
  1103. #define IMSAdminBase2W_QueryInterface(This,riid,ppvObject) \
  1104. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1105. #define IMSAdminBase2W_AddRef(This) \
  1106. (This)->lpVtbl -> AddRef(This)
  1107. #define IMSAdminBase2W_Release(This) \
  1108. (This)->lpVtbl -> Release(This)
  1109. #define IMSAdminBase2W_AddKey(This,hMDHandle,pszMDPath) \
  1110. (This)->lpVtbl -> AddKey(This,hMDHandle,pszMDPath)
  1111. #define IMSAdminBase2W_DeleteKey(This,hMDHandle,pszMDPath) \
  1112. (This)->lpVtbl -> DeleteKey(This,hMDHandle,pszMDPath)
  1113. #define IMSAdminBase2W_DeleteChildKeys(This,hMDHandle,pszMDPath) \
  1114. (This)->lpVtbl -> DeleteChildKeys(This,hMDHandle,pszMDPath)
  1115. #define IMSAdminBase2W_EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex) \
  1116. (This)->lpVtbl -> EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)
  1117. #define IMSAdminBase2W_CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag) \
  1118. (This)->lpVtbl -> CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)
  1119. #define IMSAdminBase2W_RenameKey(This,hMDHandle,pszMDPath,pszMDNewName) \
  1120. (This)->lpVtbl -> RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)
  1121. #define IMSAdminBase2W_SetData(This,hMDHandle,pszMDPath,pmdrMDData) \
  1122. (This)->lpVtbl -> SetData(This,hMDHandle,pszMDPath,pmdrMDData)
  1123. #define IMSAdminBase2W_GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen) \
  1124. (This)->lpVtbl -> GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)
  1125. #define IMSAdminBase2W_DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType) \
  1126. (This)->lpVtbl -> DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)
  1127. #define IMSAdminBase2W_EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen) \
  1128. (This)->lpVtbl -> EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)
  1129. #define IMSAdminBase2W_GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize) \
  1130. (This)->lpVtbl -> GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)
  1131. #define IMSAdminBase2W_DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType) \
  1132. (This)->lpVtbl -> DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)
  1133. #define IMSAdminBase2W_CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag) \
  1134. (This)->lpVtbl -> CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)
  1135. #define IMSAdminBase2W_GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) \
  1136. (This)->lpVtbl -> GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
  1137. #define IMSAdminBase2W_OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle) \
  1138. (This)->lpVtbl -> OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)
  1139. #define IMSAdminBase2W_CloseKey(This,hMDHandle) \
  1140. (This)->lpVtbl -> CloseKey(This,hMDHandle)
  1141. #define IMSAdminBase2W_ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested) \
  1142. (This)->lpVtbl -> ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)
  1143. #define IMSAdminBase2W_SaveData(This) \
  1144. (This)->lpVtbl -> SaveData(This)
  1145. #define IMSAdminBase2W_GetHandleInfo(This,hMDHandle,pmdhiInfo) \
  1146. (This)->lpVtbl -> GetHandleInfo(This,hMDHandle,pmdhiInfo)
  1147. #define IMSAdminBase2W_GetSystemChangeNumber(This,pdwSystemChangeNumber) \
  1148. (This)->lpVtbl -> GetSystemChangeNumber(This,pdwSystemChangeNumber)
  1149. #define IMSAdminBase2W_GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber) \
  1150. (This)->lpVtbl -> GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)
  1151. #define IMSAdminBase2W_SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) \
  1152. (This)->lpVtbl -> SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  1153. #define IMSAdminBase2W_GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) \
  1154. (This)->lpVtbl -> GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  1155. #define IMSAdminBase2W_KeyExchangePhase1(This) \
  1156. (This)->lpVtbl -> KeyExchangePhase1(This)
  1157. #define IMSAdminBase2W_KeyExchangePhase2(This) \
  1158. (This)->lpVtbl -> KeyExchangePhase2(This)
  1159. #define IMSAdminBase2W_Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) \
  1160. (This)->lpVtbl -> Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  1161. #define IMSAdminBase2W_Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) \
  1162. (This)->lpVtbl -> Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  1163. #define IMSAdminBase2W_EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex) \
  1164. (This)->lpVtbl -> EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)
  1165. #define IMSAdminBase2W_DeleteBackup(This,pszMDBackupLocation,dwMDVersion) \
  1166. (This)->lpVtbl -> DeleteBackup(This,pszMDBackupLocation,dwMDVersion)
  1167. #define IMSAdminBase2W_UnmarshalInterface(This,piadmbwInterface) \
  1168. (This)->lpVtbl -> UnmarshalInterface(This,piadmbwInterface)
  1169. #define IMSAdminBase2W_GetServerGuid(This) \
  1170. (This)->lpVtbl -> GetServerGuid(This)
  1171. #define IMSAdminBase2W_BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) \
  1172. (This)->lpVtbl -> BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
  1173. #define IMSAdminBase2W_RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) \
  1174. (This)->lpVtbl -> RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
  1175. #define IMSAdminBase2W_Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags) \
  1176. (This)->lpVtbl -> Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags)
  1177. #define IMSAdminBase2W_Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags) \
  1178. (This)->lpVtbl -> Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags)
  1179. #define IMSAdminBase2W_RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags) \
  1180. (This)->lpVtbl -> RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags)
  1181. #define IMSAdminBase2W_EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex) \
  1182. (This)->lpVtbl -> EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex)
  1183. #endif /* COBJMACROS */
  1184. #endif /* C style interface */
  1185. HRESULT STDMETHODCALLTYPE IMSAdminBase2W_BackupWithPasswd_Proxy(
  1186. IMSAdminBase2W * This,
  1187. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1188. /* [in] */ DWORD dwMDVersion,
  1189. /* [in] */ DWORD dwMDFlags,
  1190. /* [string][in][unique] */ LPCWSTR pszPasswd);
  1191. void __RPC_STUB IMSAdminBase2W_BackupWithPasswd_Stub(
  1192. IRpcStubBuffer *This,
  1193. IRpcChannelBuffer *_pRpcChannelBuffer,
  1194. PRPC_MESSAGE _pRpcMessage,
  1195. DWORD *_pdwStubPhase);
  1196. HRESULT STDMETHODCALLTYPE IMSAdminBase2W_RestoreWithPasswd_Proxy(
  1197. IMSAdminBase2W * This,
  1198. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1199. /* [in] */ DWORD dwMDVersion,
  1200. /* [in] */ DWORD dwMDFlags,
  1201. /* [string][in][unique] */ LPCWSTR pszPasswd);
  1202. void __RPC_STUB IMSAdminBase2W_RestoreWithPasswd_Stub(
  1203. IRpcStubBuffer *This,
  1204. IRpcChannelBuffer *_pRpcChannelBuffer,
  1205. PRPC_MESSAGE _pRpcMessage,
  1206. DWORD *_pdwStubPhase);
  1207. HRESULT STDMETHODCALLTYPE IMSAdminBase2W_Export_Proxy(
  1208. IMSAdminBase2W * This,
  1209. /* [string][in][unique] */ LPCWSTR pszPasswd,
  1210. /* [string][in][unique] */ LPCWSTR pszFileName,
  1211. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  1212. /* [in] */ DWORD dwMDFlags);
  1213. void __RPC_STUB IMSAdminBase2W_Export_Stub(
  1214. IRpcStubBuffer *This,
  1215. IRpcChannelBuffer *_pRpcChannelBuffer,
  1216. PRPC_MESSAGE _pRpcMessage,
  1217. DWORD *_pdwStubPhase);
  1218. HRESULT STDMETHODCALLTYPE IMSAdminBase2W_Import_Proxy(
  1219. IMSAdminBase2W * This,
  1220. /* [string][in][unique] */ LPCWSTR pszPasswd,
  1221. /* [string][in][unique] */ LPCWSTR pszFileName,
  1222. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  1223. /* [string][in][unique] */ LPCWSTR pszDestPath,
  1224. /* [in] */ DWORD dwMDFlags);
  1225. void __RPC_STUB IMSAdminBase2W_Import_Stub(
  1226. IRpcStubBuffer *This,
  1227. IRpcChannelBuffer *_pRpcChannelBuffer,
  1228. PRPC_MESSAGE _pRpcMessage,
  1229. DWORD *_pdwStubPhase);
  1230. HRESULT STDMETHODCALLTYPE IMSAdminBase2W_RestoreHistory_Proxy(
  1231. IMSAdminBase2W * This,
  1232. /* [string][in][unique] */ LPCWSTR pszMDHistoryLocation,
  1233. /* [in] */ DWORD dwMDMajorVersion,
  1234. /* [in] */ DWORD dwMDMinorVersion,
  1235. /* [in] */ DWORD dwMDFlags);
  1236. void __RPC_STUB IMSAdminBase2W_RestoreHistory_Stub(
  1237. IRpcStubBuffer *This,
  1238. IRpcChannelBuffer *_pRpcChannelBuffer,
  1239. PRPC_MESSAGE _pRpcMessage,
  1240. DWORD *_pdwStubPhase);
  1241. HRESULT STDMETHODCALLTYPE IMSAdminBase2W_EnumHistory_Proxy(
  1242. IMSAdminBase2W * This,
  1243. /* [size_is][out][in] */ LPWSTR pszMDHistoryLocation,
  1244. /* [out] */ DWORD *pdwMDMajorVersion,
  1245. /* [out] */ DWORD *pdwMDMinorVersion,
  1246. /* [out] */ PFILETIME pftMDHistoryTime,
  1247. /* [in] */ DWORD dwMDEnumIndex);
  1248. void __RPC_STUB IMSAdminBase2W_EnumHistory_Stub(
  1249. IRpcStubBuffer *This,
  1250. IRpcChannelBuffer *_pRpcChannelBuffer,
  1251. PRPC_MESSAGE _pRpcMessage,
  1252. DWORD *_pdwStubPhase);
  1253. #endif /* __IMSAdminBase2W_INTERFACE_DEFINED__ */
  1254. #ifndef __IMSAdminBase3W_INTERFACE_DEFINED__
  1255. #define __IMSAdminBase3W_INTERFACE_DEFINED__
  1256. /* interface IMSAdminBase3W */
  1257. /* [unique][uuid][object] */
  1258. EXTERN_C const IID IID_IMSAdminBase3W;
  1259. #if defined(__cplusplus) && !defined(CINTERFACE)
  1260. MIDL_INTERFACE("f612954d-3b0b-4c56-9563-227b7be624b4")
  1261. IMSAdminBase3W : public IMSAdminBase2W
  1262. {
  1263. public:
  1264. virtual HRESULT STDMETHODCALLTYPE GetChildPaths(
  1265. /* [in] */ METADATA_HANDLE hMDHandle,
  1266. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1267. /* [in] */ DWORD cchMDBufferSize,
  1268. /* [size_is][unique][out][in] */ WCHAR *pszBuffer,
  1269. /* [unique][out][in] */ DWORD *pcchMDRequiredBufferSize) = 0;
  1270. };
  1271. #else /* C style interface */
  1272. typedef struct IMSAdminBase3WVtbl
  1273. {
  1274. BEGIN_INTERFACE
  1275. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1276. IMSAdminBase3W * This,
  1277. /* [in] */ REFIID riid,
  1278. /* [iid_is][out] */ void **ppvObject);
  1279. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1280. IMSAdminBase3W * This);
  1281. ULONG ( STDMETHODCALLTYPE *Release )(
  1282. IMSAdminBase3W * This);
  1283. HRESULT ( STDMETHODCALLTYPE *AddKey )(
  1284. IMSAdminBase3W * This,
  1285. /* [in] */ METADATA_HANDLE hMDHandle,
  1286. /* [string][in][unique] */ LPCWSTR pszMDPath);
  1287. HRESULT ( STDMETHODCALLTYPE *DeleteKey )(
  1288. IMSAdminBase3W * This,
  1289. /* [in] */ METADATA_HANDLE hMDHandle,
  1290. /* [string][in][unique] */ LPCWSTR pszMDPath);
  1291. HRESULT ( STDMETHODCALLTYPE *DeleteChildKeys )(
  1292. IMSAdminBase3W * This,
  1293. /* [in] */ METADATA_HANDLE hMDHandle,
  1294. /* [string][in][unique] */ LPCWSTR pszMDPath);
  1295. HRESULT ( STDMETHODCALLTYPE *EnumKeys )(
  1296. IMSAdminBase3W * This,
  1297. /* [in] */ METADATA_HANDLE hMDHandle,
  1298. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1299. /* [size_is][out] */ LPWSTR pszMDName,
  1300. /* [in] */ DWORD dwMDEnumObjectIndex);
  1301. HRESULT ( STDMETHODCALLTYPE *CopyKey )(
  1302. IMSAdminBase3W * This,
  1303. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  1304. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  1305. /* [in] */ METADATA_HANDLE hMDDestHandle,
  1306. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  1307. /* [in] */ BOOL bMDOverwriteFlag,
  1308. /* [in] */ BOOL bMDCopyFlag);
  1309. HRESULT ( STDMETHODCALLTYPE *RenameKey )(
  1310. IMSAdminBase3W * This,
  1311. /* [in] */ METADATA_HANDLE hMDHandle,
  1312. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1313. /* [string][in][unique] */ LPCWSTR pszMDNewName);
  1314. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetData )(
  1315. IMSAdminBase3W * This,
  1316. /* [in] */ METADATA_HANDLE hMDHandle,
  1317. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1318. /* [in] */ PMETADATA_RECORD pmdrMDData);
  1319. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetData )(
  1320. IMSAdminBase3W * This,
  1321. /* [in] */ METADATA_HANDLE hMDHandle,
  1322. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1323. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1324. /* [out] */ DWORD *pdwMDRequiredDataLen);
  1325. HRESULT ( STDMETHODCALLTYPE *DeleteData )(
  1326. IMSAdminBase3W * This,
  1327. /* [in] */ METADATA_HANDLE hMDHandle,
  1328. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1329. /* [in] */ DWORD dwMDIdentifier,
  1330. /* [in] */ DWORD dwMDDataType);
  1331. /* [local] */ HRESULT ( STDMETHODCALLTYPE *EnumData )(
  1332. IMSAdminBase3W * This,
  1333. /* [in] */ METADATA_HANDLE hMDHandle,
  1334. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1335. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1336. /* [in] */ DWORD dwMDEnumDataIndex,
  1337. /* [out] */ DWORD *pdwMDRequiredDataLen);
  1338. /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetAllData )(
  1339. IMSAdminBase3W * This,
  1340. /* [in] */ METADATA_HANDLE hMDHandle,
  1341. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1342. /* [in] */ DWORD dwMDAttributes,
  1343. /* [in] */ DWORD dwMDUserType,
  1344. /* [in] */ DWORD dwMDDataType,
  1345. /* [out] */ DWORD *pdwMDNumDataEntries,
  1346. /* [out] */ DWORD *pdwMDDataSetNumber,
  1347. /* [in] */ DWORD dwMDBufferSize,
  1348. /* [size_is][out] */ unsigned char *pbMDBuffer,
  1349. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  1350. HRESULT ( STDMETHODCALLTYPE *DeleteAllData )(
  1351. IMSAdminBase3W * This,
  1352. /* [in] */ METADATA_HANDLE hMDHandle,
  1353. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1354. /* [in] */ DWORD dwMDUserType,
  1355. /* [in] */ DWORD dwMDDataType);
  1356. HRESULT ( STDMETHODCALLTYPE *CopyData )(
  1357. IMSAdminBase3W * This,
  1358. /* [in] */ METADATA_HANDLE hMDSourceHandle,
  1359. /* [string][in][unique] */ LPCWSTR pszMDSourcePath,
  1360. /* [in] */ METADATA_HANDLE hMDDestHandle,
  1361. /* [string][in][unique] */ LPCWSTR pszMDDestPath,
  1362. /* [in] */ DWORD dwMDAttributes,
  1363. /* [in] */ DWORD dwMDUserType,
  1364. /* [in] */ DWORD dwMDDataType,
  1365. /* [in] */ BOOL bMDCopyFlag);
  1366. HRESULT ( STDMETHODCALLTYPE *GetDataPaths )(
  1367. IMSAdminBase3W * This,
  1368. /* [in] */ METADATA_HANDLE hMDHandle,
  1369. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1370. /* [in] */ DWORD dwMDIdentifier,
  1371. /* [in] */ DWORD dwMDDataType,
  1372. /* [in] */ DWORD dwMDBufferSize,
  1373. /* [size_is][out] */ WCHAR *pszBuffer,
  1374. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  1375. HRESULT ( STDMETHODCALLTYPE *OpenKey )(
  1376. IMSAdminBase3W * This,
  1377. /* [in] */ METADATA_HANDLE hMDHandle,
  1378. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1379. /* [in] */ DWORD dwMDAccessRequested,
  1380. /* [in] */ DWORD dwMDTimeOut,
  1381. /* [out] */ PMETADATA_HANDLE phMDNewHandle);
  1382. HRESULT ( STDMETHODCALLTYPE *CloseKey )(
  1383. IMSAdminBase3W * This,
  1384. /* [in] */ METADATA_HANDLE hMDHandle);
  1385. HRESULT ( STDMETHODCALLTYPE *ChangePermissions )(
  1386. IMSAdminBase3W * This,
  1387. /* [in] */ METADATA_HANDLE hMDHandle,
  1388. /* [in] */ DWORD dwMDTimeOut,
  1389. /* [in] */ DWORD dwMDAccessRequested);
  1390. HRESULT ( STDMETHODCALLTYPE *SaveData )(
  1391. IMSAdminBase3W * This);
  1392. HRESULT ( STDMETHODCALLTYPE *GetHandleInfo )(
  1393. IMSAdminBase3W * This,
  1394. /* [in] */ METADATA_HANDLE hMDHandle,
  1395. /* [out] */ PMETADATA_HANDLE_INFO pmdhiInfo);
  1396. HRESULT ( STDMETHODCALLTYPE *GetSystemChangeNumber )(
  1397. IMSAdminBase3W * This,
  1398. /* [out] */ DWORD *pdwSystemChangeNumber);
  1399. HRESULT ( STDMETHODCALLTYPE *GetDataSetNumber )(
  1400. IMSAdminBase3W * This,
  1401. /* [in] */ METADATA_HANDLE hMDHandle,
  1402. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1403. /* [out] */ DWORD *pdwMDDataSetNumber);
  1404. HRESULT ( STDMETHODCALLTYPE *SetLastChangeTime )(
  1405. IMSAdminBase3W * This,
  1406. /* [in] */ METADATA_HANDLE hMDHandle,
  1407. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1408. /* [in] */ PFILETIME pftMDLastChangeTime,
  1409. /* [in] */ BOOL bLocalTime);
  1410. HRESULT ( STDMETHODCALLTYPE *GetLastChangeTime )(
  1411. IMSAdminBase3W * This,
  1412. /* [in] */ METADATA_HANDLE hMDHandle,
  1413. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1414. /* [out] */ PFILETIME pftMDLastChangeTime,
  1415. /* [in] */ BOOL bLocalTime);
  1416. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *KeyExchangePhase1 )(
  1417. IMSAdminBase3W * This);
  1418. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *KeyExchangePhase2 )(
  1419. IMSAdminBase3W * This);
  1420. HRESULT ( STDMETHODCALLTYPE *Backup )(
  1421. IMSAdminBase3W * This,
  1422. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1423. /* [in] */ DWORD dwMDVersion,
  1424. /* [in] */ DWORD dwMDFlags);
  1425. HRESULT ( STDMETHODCALLTYPE *Restore )(
  1426. IMSAdminBase3W * This,
  1427. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1428. /* [in] */ DWORD dwMDVersion,
  1429. /* [in] */ DWORD dwMDFlags);
  1430. HRESULT ( STDMETHODCALLTYPE *EnumBackups )(
  1431. IMSAdminBase3W * This,
  1432. /* [size_is][out][in] */ LPWSTR pszMDBackupLocation,
  1433. /* [out] */ DWORD *pdwMDVersion,
  1434. /* [out] */ PFILETIME pftMDBackupTime,
  1435. /* [in] */ DWORD dwMDEnumIndex);
  1436. HRESULT ( STDMETHODCALLTYPE *DeleteBackup )(
  1437. IMSAdminBase3W * This,
  1438. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1439. /* [in] */ DWORD dwMDVersion);
  1440. HRESULT ( STDMETHODCALLTYPE *UnmarshalInterface )(
  1441. IMSAdminBase3W * This,
  1442. /* [out] */ IMSAdminBaseW **piadmbwInterface);
  1443. /* [restricted][local] */ HRESULT ( STDMETHODCALLTYPE *GetServerGuid )(
  1444. IMSAdminBase3W * This);
  1445. HRESULT ( STDMETHODCALLTYPE *BackupWithPasswd )(
  1446. IMSAdminBase3W * This,
  1447. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1448. /* [in] */ DWORD dwMDVersion,
  1449. /* [in] */ DWORD dwMDFlags,
  1450. /* [string][in][unique] */ LPCWSTR pszPasswd);
  1451. HRESULT ( STDMETHODCALLTYPE *RestoreWithPasswd )(
  1452. IMSAdminBase3W * This,
  1453. /* [string][in][unique] */ LPCWSTR pszMDBackupLocation,
  1454. /* [in] */ DWORD dwMDVersion,
  1455. /* [in] */ DWORD dwMDFlags,
  1456. /* [string][in][unique] */ LPCWSTR pszPasswd);
  1457. HRESULT ( STDMETHODCALLTYPE *Export )(
  1458. IMSAdminBase3W * This,
  1459. /* [string][in][unique] */ LPCWSTR pszPasswd,
  1460. /* [string][in][unique] */ LPCWSTR pszFileName,
  1461. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  1462. /* [in] */ DWORD dwMDFlags);
  1463. HRESULT ( STDMETHODCALLTYPE *Import )(
  1464. IMSAdminBase3W * This,
  1465. /* [string][in][unique] */ LPCWSTR pszPasswd,
  1466. /* [string][in][unique] */ LPCWSTR pszFileName,
  1467. /* [string][in][unique] */ LPCWSTR pszSourcePath,
  1468. /* [string][in][unique] */ LPCWSTR pszDestPath,
  1469. /* [in] */ DWORD dwMDFlags);
  1470. HRESULT ( STDMETHODCALLTYPE *RestoreHistory )(
  1471. IMSAdminBase3W * This,
  1472. /* [string][in][unique] */ LPCWSTR pszMDHistoryLocation,
  1473. /* [in] */ DWORD dwMDMajorVersion,
  1474. /* [in] */ DWORD dwMDMinorVersion,
  1475. /* [in] */ DWORD dwMDFlags);
  1476. HRESULT ( STDMETHODCALLTYPE *EnumHistory )(
  1477. IMSAdminBase3W * This,
  1478. /* [size_is][out][in] */ LPWSTR pszMDHistoryLocation,
  1479. /* [out] */ DWORD *pdwMDMajorVersion,
  1480. /* [out] */ DWORD *pdwMDMinorVersion,
  1481. /* [out] */ PFILETIME pftMDHistoryTime,
  1482. /* [in] */ DWORD dwMDEnumIndex);
  1483. HRESULT ( STDMETHODCALLTYPE *GetChildPaths )(
  1484. IMSAdminBase3W * This,
  1485. /* [in] */ METADATA_HANDLE hMDHandle,
  1486. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1487. /* [in] */ DWORD cchMDBufferSize,
  1488. /* [size_is][unique][out][in] */ WCHAR *pszBuffer,
  1489. /* [unique][out][in] */ DWORD *pcchMDRequiredBufferSize);
  1490. END_INTERFACE
  1491. } IMSAdminBase3WVtbl;
  1492. interface IMSAdminBase3W
  1493. {
  1494. CONST_VTBL struct IMSAdminBase3WVtbl *lpVtbl;
  1495. };
  1496. #ifdef COBJMACROS
  1497. #define IMSAdminBase3W_QueryInterface(This,riid,ppvObject) \
  1498. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1499. #define IMSAdminBase3W_AddRef(This) \
  1500. (This)->lpVtbl -> AddRef(This)
  1501. #define IMSAdminBase3W_Release(This) \
  1502. (This)->lpVtbl -> Release(This)
  1503. #define IMSAdminBase3W_AddKey(This,hMDHandle,pszMDPath) \
  1504. (This)->lpVtbl -> AddKey(This,hMDHandle,pszMDPath)
  1505. #define IMSAdminBase3W_DeleteKey(This,hMDHandle,pszMDPath) \
  1506. (This)->lpVtbl -> DeleteKey(This,hMDHandle,pszMDPath)
  1507. #define IMSAdminBase3W_DeleteChildKeys(This,hMDHandle,pszMDPath) \
  1508. (This)->lpVtbl -> DeleteChildKeys(This,hMDHandle,pszMDPath)
  1509. #define IMSAdminBase3W_EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex) \
  1510. (This)->lpVtbl -> EnumKeys(This,hMDHandle,pszMDPath,pszMDName,dwMDEnumObjectIndex)
  1511. #define IMSAdminBase3W_CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag) \
  1512. (This)->lpVtbl -> CopyKey(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,bMDOverwriteFlag,bMDCopyFlag)
  1513. #define IMSAdminBase3W_RenameKey(This,hMDHandle,pszMDPath,pszMDNewName) \
  1514. (This)->lpVtbl -> RenameKey(This,hMDHandle,pszMDPath,pszMDNewName)
  1515. #define IMSAdminBase3W_SetData(This,hMDHandle,pszMDPath,pmdrMDData) \
  1516. (This)->lpVtbl -> SetData(This,hMDHandle,pszMDPath,pmdrMDData)
  1517. #define IMSAdminBase3W_GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen) \
  1518. (This)->lpVtbl -> GetData(This,hMDHandle,pszMDPath,pmdrMDData,pdwMDRequiredDataLen)
  1519. #define IMSAdminBase3W_DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType) \
  1520. (This)->lpVtbl -> DeleteData(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType)
  1521. #define IMSAdminBase3W_EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen) \
  1522. (This)->lpVtbl -> EnumData(This,hMDHandle,pszMDPath,pmdrMDData,dwMDEnumDataIndex,pdwMDRequiredDataLen)
  1523. #define IMSAdminBase3W_GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize) \
  1524. (This)->lpVtbl -> GetAllData(This,hMDHandle,pszMDPath,dwMDAttributes,dwMDUserType,dwMDDataType,pdwMDNumDataEntries,pdwMDDataSetNumber,dwMDBufferSize,pbMDBuffer,pdwMDRequiredBufferSize)
  1525. #define IMSAdminBase3W_DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType) \
  1526. (This)->lpVtbl -> DeleteAllData(This,hMDHandle,pszMDPath,dwMDUserType,dwMDDataType)
  1527. #define IMSAdminBase3W_CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag) \
  1528. (This)->lpVtbl -> CopyData(This,hMDSourceHandle,pszMDSourcePath,hMDDestHandle,pszMDDestPath,dwMDAttributes,dwMDUserType,dwMDDataType,bMDCopyFlag)
  1529. #define IMSAdminBase3W_GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) \
  1530. (This)->lpVtbl -> GetDataPaths(This,hMDHandle,pszMDPath,dwMDIdentifier,dwMDDataType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
  1531. #define IMSAdminBase3W_OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle) \
  1532. (This)->lpVtbl -> OpenKey(This,hMDHandle,pszMDPath,dwMDAccessRequested,dwMDTimeOut,phMDNewHandle)
  1533. #define IMSAdminBase3W_CloseKey(This,hMDHandle) \
  1534. (This)->lpVtbl -> CloseKey(This,hMDHandle)
  1535. #define IMSAdminBase3W_ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested) \
  1536. (This)->lpVtbl -> ChangePermissions(This,hMDHandle,dwMDTimeOut,dwMDAccessRequested)
  1537. #define IMSAdminBase3W_SaveData(This) \
  1538. (This)->lpVtbl -> SaveData(This)
  1539. #define IMSAdminBase3W_GetHandleInfo(This,hMDHandle,pmdhiInfo) \
  1540. (This)->lpVtbl -> GetHandleInfo(This,hMDHandle,pmdhiInfo)
  1541. #define IMSAdminBase3W_GetSystemChangeNumber(This,pdwSystemChangeNumber) \
  1542. (This)->lpVtbl -> GetSystemChangeNumber(This,pdwSystemChangeNumber)
  1543. #define IMSAdminBase3W_GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber) \
  1544. (This)->lpVtbl -> GetDataSetNumber(This,hMDHandle,pszMDPath,pdwMDDataSetNumber)
  1545. #define IMSAdminBase3W_SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) \
  1546. (This)->lpVtbl -> SetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  1547. #define IMSAdminBase3W_GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime) \
  1548. (This)->lpVtbl -> GetLastChangeTime(This,hMDHandle,pszMDPath,pftMDLastChangeTime,bLocalTime)
  1549. #define IMSAdminBase3W_KeyExchangePhase1(This) \
  1550. (This)->lpVtbl -> KeyExchangePhase1(This)
  1551. #define IMSAdminBase3W_KeyExchangePhase2(This) \
  1552. (This)->lpVtbl -> KeyExchangePhase2(This)
  1553. #define IMSAdminBase3W_Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) \
  1554. (This)->lpVtbl -> Backup(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  1555. #define IMSAdminBase3W_Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags) \
  1556. (This)->lpVtbl -> Restore(This,pszMDBackupLocation,dwMDVersion,dwMDFlags)
  1557. #define IMSAdminBase3W_EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex) \
  1558. (This)->lpVtbl -> EnumBackups(This,pszMDBackupLocation,pdwMDVersion,pftMDBackupTime,dwMDEnumIndex)
  1559. #define IMSAdminBase3W_DeleteBackup(This,pszMDBackupLocation,dwMDVersion) \
  1560. (This)->lpVtbl -> DeleteBackup(This,pszMDBackupLocation,dwMDVersion)
  1561. #define IMSAdminBase3W_UnmarshalInterface(This,piadmbwInterface) \
  1562. (This)->lpVtbl -> UnmarshalInterface(This,piadmbwInterface)
  1563. #define IMSAdminBase3W_GetServerGuid(This) \
  1564. (This)->lpVtbl -> GetServerGuid(This)
  1565. #define IMSAdminBase3W_BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) \
  1566. (This)->lpVtbl -> BackupWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
  1567. #define IMSAdminBase3W_RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd) \
  1568. (This)->lpVtbl -> RestoreWithPasswd(This,pszMDBackupLocation,dwMDVersion,dwMDFlags,pszPasswd)
  1569. #define IMSAdminBase3W_Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags) \
  1570. (This)->lpVtbl -> Export(This,pszPasswd,pszFileName,pszSourcePath,dwMDFlags)
  1571. #define IMSAdminBase3W_Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags) \
  1572. (This)->lpVtbl -> Import(This,pszPasswd,pszFileName,pszSourcePath,pszDestPath,dwMDFlags)
  1573. #define IMSAdminBase3W_RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags) \
  1574. (This)->lpVtbl -> RestoreHistory(This,pszMDHistoryLocation,dwMDMajorVersion,dwMDMinorVersion,dwMDFlags)
  1575. #define IMSAdminBase3W_EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex) \
  1576. (This)->lpVtbl -> EnumHistory(This,pszMDHistoryLocation,pdwMDMajorVersion,pdwMDMinorVersion,pftMDHistoryTime,dwMDEnumIndex)
  1577. #define IMSAdminBase3W_GetChildPaths(This,hMDHandle,pszMDPath,cchMDBufferSize,pszBuffer,pcchMDRequiredBufferSize) \
  1578. (This)->lpVtbl -> GetChildPaths(This,hMDHandle,pszMDPath,cchMDBufferSize,pszBuffer,pcchMDRequiredBufferSize)
  1579. #endif /* COBJMACROS */
  1580. #endif /* C style interface */
  1581. HRESULT STDMETHODCALLTYPE IMSAdminBase3W_GetChildPaths_Proxy(
  1582. IMSAdminBase3W * This,
  1583. /* [in] */ METADATA_HANDLE hMDHandle,
  1584. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1585. /* [in] */ DWORD cchMDBufferSize,
  1586. /* [size_is][unique][out][in] */ WCHAR *pszBuffer,
  1587. /* [unique][out][in] */ DWORD *pcchMDRequiredBufferSize);
  1588. void __RPC_STUB IMSAdminBase3W_GetChildPaths_Stub(
  1589. IRpcStubBuffer *This,
  1590. IRpcChannelBuffer *_pRpcChannelBuffer,
  1591. PRPC_MESSAGE _pRpcMessage,
  1592. DWORD *_pdwStubPhase);
  1593. #endif /* __IMSAdminBase3W_INTERFACE_DEFINED__ */
  1594. #ifndef __IMSImpExpHelpW_INTERFACE_DEFINED__
  1595. #define __IMSImpExpHelpW_INTERFACE_DEFINED__
  1596. /* interface IMSImpExpHelpW */
  1597. /* [unique][uuid][object] */
  1598. EXTERN_C const IID IID_IMSImpExpHelpW;
  1599. #if defined(__cplusplus) && !defined(CINTERFACE)
  1600. MIDL_INTERFACE("29FF67FF-8050-480f-9F30-CC41635F2F9D")
  1601. IMSImpExpHelpW : public IUnknown
  1602. {
  1603. public:
  1604. virtual HRESULT STDMETHODCALLTYPE EnumeratePathsInFile(
  1605. /* [string][in][unique] */ LPCWSTR pszFileName,
  1606. /* [string][in][unique] */ LPCWSTR pszKeyType,
  1607. /* [in] */ DWORD dwMDBufferSize,
  1608. /* [size_is][unique][out][in] */ WCHAR *pszBuffer,
  1609. /* [out] */ DWORD *pdwMDRequiredBufferSize) = 0;
  1610. };
  1611. #else /* C style interface */
  1612. typedef struct IMSImpExpHelpWVtbl
  1613. {
  1614. BEGIN_INTERFACE
  1615. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1616. IMSImpExpHelpW * This,
  1617. /* [in] */ REFIID riid,
  1618. /* [iid_is][out] */ void **ppvObject);
  1619. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1620. IMSImpExpHelpW * This);
  1621. ULONG ( STDMETHODCALLTYPE *Release )(
  1622. IMSImpExpHelpW * This);
  1623. HRESULT ( STDMETHODCALLTYPE *EnumeratePathsInFile )(
  1624. IMSImpExpHelpW * This,
  1625. /* [string][in][unique] */ LPCWSTR pszFileName,
  1626. /* [string][in][unique] */ LPCWSTR pszKeyType,
  1627. /* [in] */ DWORD dwMDBufferSize,
  1628. /* [size_is][unique][out][in] */ WCHAR *pszBuffer,
  1629. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  1630. END_INTERFACE
  1631. } IMSImpExpHelpWVtbl;
  1632. interface IMSImpExpHelpW
  1633. {
  1634. CONST_VTBL struct IMSImpExpHelpWVtbl *lpVtbl;
  1635. };
  1636. #ifdef COBJMACROS
  1637. #define IMSImpExpHelpW_QueryInterface(This,riid,ppvObject) \
  1638. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1639. #define IMSImpExpHelpW_AddRef(This) \
  1640. (This)->lpVtbl -> AddRef(This)
  1641. #define IMSImpExpHelpW_Release(This) \
  1642. (This)->lpVtbl -> Release(This)
  1643. #define IMSImpExpHelpW_EnumeratePathsInFile(This,pszFileName,pszKeyType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize) \
  1644. (This)->lpVtbl -> EnumeratePathsInFile(This,pszFileName,pszKeyType,dwMDBufferSize,pszBuffer,pdwMDRequiredBufferSize)
  1645. #endif /* COBJMACROS */
  1646. #endif /* C style interface */
  1647. HRESULT STDMETHODCALLTYPE IMSImpExpHelpW_EnumeratePathsInFile_Proxy(
  1648. IMSImpExpHelpW * This,
  1649. /* [string][in][unique] */ LPCWSTR pszFileName,
  1650. /* [string][in][unique] */ LPCWSTR pszKeyType,
  1651. /* [in] */ DWORD dwMDBufferSize,
  1652. /* [size_is][unique][out][in] */ WCHAR *pszBuffer,
  1653. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  1654. void __RPC_STUB IMSImpExpHelpW_EnumeratePathsInFile_Stub(
  1655. IRpcStubBuffer *This,
  1656. IRpcChannelBuffer *_pRpcChannelBuffer,
  1657. PRPC_MESSAGE _pRpcMessage,
  1658. DWORD *_pdwStubPhase);
  1659. #endif /* __IMSImpExpHelpW_INTERFACE_DEFINED__ */
  1660. #ifndef __IMSAdminBaseSinkW_INTERFACE_DEFINED__
  1661. #define __IMSAdminBaseSinkW_INTERFACE_DEFINED__
  1662. /* interface IMSAdminBaseSinkW */
  1663. /* [unique][async_uuid][uuid][object] */
  1664. EXTERN_C const IID IID_IMSAdminBaseSinkW;
  1665. #if defined(__cplusplus) && !defined(CINTERFACE)
  1666. MIDL_INTERFACE("A9E69612-B80D-11d0-B9B9-00A0C922E750")
  1667. IMSAdminBaseSinkW : public IUnknown
  1668. {
  1669. public:
  1670. virtual HRESULT STDMETHODCALLTYPE SinkNotify(
  1671. /* [in] */ DWORD dwMDNumElements,
  1672. /* [size_is][in] */ MD_CHANGE_OBJECT_W pcoChangeList[ ]) = 0;
  1673. virtual HRESULT STDMETHODCALLTYPE ShutdownNotify( void) = 0;
  1674. };
  1675. #else /* C style interface */
  1676. typedef struct IMSAdminBaseSinkWVtbl
  1677. {
  1678. BEGIN_INTERFACE
  1679. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1680. IMSAdminBaseSinkW * This,
  1681. /* [in] */ REFIID riid,
  1682. /* [iid_is][out] */ void **ppvObject);
  1683. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1684. IMSAdminBaseSinkW * This);
  1685. ULONG ( STDMETHODCALLTYPE *Release )(
  1686. IMSAdminBaseSinkW * This);
  1687. HRESULT ( STDMETHODCALLTYPE *SinkNotify )(
  1688. IMSAdminBaseSinkW * This,
  1689. /* [in] */ DWORD dwMDNumElements,
  1690. /* [size_is][in] */ MD_CHANGE_OBJECT_W pcoChangeList[ ]);
  1691. HRESULT ( STDMETHODCALLTYPE *ShutdownNotify )(
  1692. IMSAdminBaseSinkW * This);
  1693. END_INTERFACE
  1694. } IMSAdminBaseSinkWVtbl;
  1695. interface IMSAdminBaseSinkW
  1696. {
  1697. CONST_VTBL struct IMSAdminBaseSinkWVtbl *lpVtbl;
  1698. };
  1699. #ifdef COBJMACROS
  1700. #define IMSAdminBaseSinkW_QueryInterface(This,riid,ppvObject) \
  1701. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1702. #define IMSAdminBaseSinkW_AddRef(This) \
  1703. (This)->lpVtbl -> AddRef(This)
  1704. #define IMSAdminBaseSinkW_Release(This) \
  1705. (This)->lpVtbl -> Release(This)
  1706. #define IMSAdminBaseSinkW_SinkNotify(This,dwMDNumElements,pcoChangeList) \
  1707. (This)->lpVtbl -> SinkNotify(This,dwMDNumElements,pcoChangeList)
  1708. #define IMSAdminBaseSinkW_ShutdownNotify(This) \
  1709. (This)->lpVtbl -> ShutdownNotify(This)
  1710. #endif /* COBJMACROS */
  1711. #endif /* C style interface */
  1712. HRESULT STDMETHODCALLTYPE IMSAdminBaseSinkW_SinkNotify_Proxy(
  1713. IMSAdminBaseSinkW * This,
  1714. /* [in] */ DWORD dwMDNumElements,
  1715. /* [size_is][in] */ MD_CHANGE_OBJECT_W pcoChangeList[ ]);
  1716. void __RPC_STUB IMSAdminBaseSinkW_SinkNotify_Stub(
  1717. IRpcStubBuffer *This,
  1718. IRpcChannelBuffer *_pRpcChannelBuffer,
  1719. PRPC_MESSAGE _pRpcMessage,
  1720. DWORD *_pdwStubPhase);
  1721. HRESULT STDMETHODCALLTYPE IMSAdminBaseSinkW_ShutdownNotify_Proxy(
  1722. IMSAdminBaseSinkW * This);
  1723. void __RPC_STUB IMSAdminBaseSinkW_ShutdownNotify_Stub(
  1724. IRpcStubBuffer *This,
  1725. IRpcChannelBuffer *_pRpcChannelBuffer,
  1726. PRPC_MESSAGE _pRpcMessage,
  1727. DWORD *_pdwStubPhase);
  1728. #endif /* __IMSAdminBaseSinkW_INTERFACE_DEFINED__ */
  1729. #ifndef __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__
  1730. #define __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__
  1731. /* interface AsyncIMSAdminBaseSinkW */
  1732. /* [uuid][unique][object] */
  1733. EXTERN_C const IID IID_AsyncIMSAdminBaseSinkW;
  1734. #if defined(__cplusplus) && !defined(CINTERFACE)
  1735. MIDL_INTERFACE("A9E69613-B80D-11d0-B9B9-00A0C922E750")
  1736. AsyncIMSAdminBaseSinkW : public IUnknown
  1737. {
  1738. public:
  1739. virtual HRESULT STDMETHODCALLTYPE Begin_SinkNotify(
  1740. /* [in] */ DWORD dwMDNumElements,
  1741. /* [size_is][in] */ MD_CHANGE_OBJECT_W pcoChangeList[ ]) = 0;
  1742. virtual HRESULT STDMETHODCALLTYPE Finish_SinkNotify( void) = 0;
  1743. virtual HRESULT STDMETHODCALLTYPE Begin_ShutdownNotify( void) = 0;
  1744. virtual HRESULT STDMETHODCALLTYPE Finish_ShutdownNotify( void) = 0;
  1745. };
  1746. #else /* C style interface */
  1747. typedef struct AsyncIMSAdminBaseSinkWVtbl
  1748. {
  1749. BEGIN_INTERFACE
  1750. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1751. AsyncIMSAdminBaseSinkW * This,
  1752. /* [in] */ REFIID riid,
  1753. /* [iid_is][out] */ void **ppvObject);
  1754. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1755. AsyncIMSAdminBaseSinkW * This);
  1756. ULONG ( STDMETHODCALLTYPE *Release )(
  1757. AsyncIMSAdminBaseSinkW * This);
  1758. HRESULT ( STDMETHODCALLTYPE *Begin_SinkNotify )(
  1759. AsyncIMSAdminBaseSinkW * This,
  1760. /* [in] */ DWORD dwMDNumElements,
  1761. /* [size_is][in] */ MD_CHANGE_OBJECT_W pcoChangeList[ ]);
  1762. HRESULT ( STDMETHODCALLTYPE *Finish_SinkNotify )(
  1763. AsyncIMSAdminBaseSinkW * This);
  1764. HRESULT ( STDMETHODCALLTYPE *Begin_ShutdownNotify )(
  1765. AsyncIMSAdminBaseSinkW * This);
  1766. HRESULT ( STDMETHODCALLTYPE *Finish_ShutdownNotify )(
  1767. AsyncIMSAdminBaseSinkW * This);
  1768. END_INTERFACE
  1769. } AsyncIMSAdminBaseSinkWVtbl;
  1770. interface AsyncIMSAdminBaseSinkW
  1771. {
  1772. CONST_VTBL struct AsyncIMSAdminBaseSinkWVtbl *lpVtbl;
  1773. };
  1774. #ifdef COBJMACROS
  1775. #define AsyncIMSAdminBaseSinkW_QueryInterface(This,riid,ppvObject) \
  1776. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1777. #define AsyncIMSAdminBaseSinkW_AddRef(This) \
  1778. (This)->lpVtbl -> AddRef(This)
  1779. #define AsyncIMSAdminBaseSinkW_Release(This) \
  1780. (This)->lpVtbl -> Release(This)
  1781. #define AsyncIMSAdminBaseSinkW_Begin_SinkNotify(This,dwMDNumElements,pcoChangeList) \
  1782. (This)->lpVtbl -> Begin_SinkNotify(This,dwMDNumElements,pcoChangeList)
  1783. #define AsyncIMSAdminBaseSinkW_Finish_SinkNotify(This) \
  1784. (This)->lpVtbl -> Finish_SinkNotify(This)
  1785. #define AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify(This) \
  1786. (This)->lpVtbl -> Begin_ShutdownNotify(This)
  1787. #define AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify(This) \
  1788. (This)->lpVtbl -> Finish_ShutdownNotify(This)
  1789. #endif /* COBJMACROS */
  1790. #endif /* C style interface */
  1791. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Begin_SinkNotify_Proxy(
  1792. AsyncIMSAdminBaseSinkW * This,
  1793. /* [in] */ DWORD dwMDNumElements,
  1794. /* [size_is][in] */ MD_CHANGE_OBJECT_W pcoChangeList[ ]);
  1795. void __RPC_STUB AsyncIMSAdminBaseSinkW_Begin_SinkNotify_Stub(
  1796. IRpcStubBuffer *This,
  1797. IRpcChannelBuffer *_pRpcChannelBuffer,
  1798. PRPC_MESSAGE _pRpcMessage,
  1799. DWORD *_pdwStubPhase);
  1800. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Finish_SinkNotify_Proxy(
  1801. AsyncIMSAdminBaseSinkW * This);
  1802. void __RPC_STUB AsyncIMSAdminBaseSinkW_Finish_SinkNotify_Stub(
  1803. IRpcStubBuffer *This,
  1804. IRpcChannelBuffer *_pRpcChannelBuffer,
  1805. PRPC_MESSAGE _pRpcMessage,
  1806. DWORD *_pdwStubPhase);
  1807. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify_Proxy(
  1808. AsyncIMSAdminBaseSinkW * This);
  1809. void __RPC_STUB AsyncIMSAdminBaseSinkW_Begin_ShutdownNotify_Stub(
  1810. IRpcStubBuffer *This,
  1811. IRpcChannelBuffer *_pRpcChannelBuffer,
  1812. PRPC_MESSAGE _pRpcMessage,
  1813. DWORD *_pdwStubPhase);
  1814. HRESULT STDMETHODCALLTYPE AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify_Proxy(
  1815. AsyncIMSAdminBaseSinkW * This);
  1816. void __RPC_STUB AsyncIMSAdminBaseSinkW_Finish_ShutdownNotify_Stub(
  1817. IRpcStubBuffer *This,
  1818. IRpcChannelBuffer *_pRpcChannelBuffer,
  1819. PRPC_MESSAGE _pRpcMessage,
  1820. DWORD *_pdwStubPhase);
  1821. #endif /* __AsyncIMSAdminBaseSinkW_INTERFACE_DEFINED__ */
  1822. /* interface __MIDL_itf_iadmw_0268 */
  1823. /* [local] */
  1824. #endif
  1825. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0268_v0_0_c_ifspec;
  1826. extern RPC_IF_HANDLE __MIDL_itf_iadmw_0268_v0_0_s_ifspec;
  1827. /* Additional Prototypes for ALL interfaces */
  1828. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SetData_Proxy(
  1829. IMSAdminBaseW * This,
  1830. /* [in] */ METADATA_HANDLE hMDHandle,
  1831. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1832. /* [in] */ PMETADATA_RECORD pmdrMDData);
  1833. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_SetData_Stub(
  1834. IMSAdminBaseW * This,
  1835. /* [in] */ METADATA_HANDLE hMDHandle,
  1836. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1837. /* [in] */ PMETADATA_RECORD pmdrMDData);
  1838. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetData_Proxy(
  1839. IMSAdminBaseW * This,
  1840. /* [in] */ METADATA_HANDLE hMDHandle,
  1841. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1842. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1843. /* [out] */ DWORD *pdwMDRequiredDataLen);
  1844. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetData_Stub(
  1845. IMSAdminBaseW * This,
  1846. /* [in] */ METADATA_HANDLE hMDHandle,
  1847. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1848. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1849. /* [out] */ DWORD *pdwMDRequiredDataLen,
  1850. /* [out] */ struct _IIS_CRYPTO_BLOB **ppDataBlob);
  1851. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumData_Proxy(
  1852. IMSAdminBaseW * This,
  1853. /* [in] */ METADATA_HANDLE hMDHandle,
  1854. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1855. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1856. /* [in] */ DWORD dwMDEnumDataIndex,
  1857. /* [out] */ DWORD *pdwMDRequiredDataLen);
  1858. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_EnumData_Stub(
  1859. IMSAdminBaseW * This,
  1860. /* [in] */ METADATA_HANDLE hMDHandle,
  1861. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1862. /* [out][in] */ PMETADATA_RECORD pmdrMDData,
  1863. /* [in] */ DWORD dwMDEnumDataIndex,
  1864. /* [out] */ DWORD *pdwMDRequiredDataLen,
  1865. /* [out] */ struct _IIS_CRYPTO_BLOB **ppDataBlob);
  1866. /* [local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetAllData_Proxy(
  1867. IMSAdminBaseW * This,
  1868. /* [in] */ METADATA_HANDLE hMDHandle,
  1869. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1870. /* [in] */ DWORD dwMDAttributes,
  1871. /* [in] */ DWORD dwMDUserType,
  1872. /* [in] */ DWORD dwMDDataType,
  1873. /* [out] */ DWORD *pdwMDNumDataEntries,
  1874. /* [out] */ DWORD *pdwMDDataSetNumber,
  1875. /* [in] */ DWORD dwMDBufferSize,
  1876. /* [size_is][out] */ unsigned char *pbMDBuffer,
  1877. /* [out] */ DWORD *pdwMDRequiredBufferSize);
  1878. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetAllData_Stub(
  1879. IMSAdminBaseW * This,
  1880. /* [in] */ METADATA_HANDLE hMDHandle,
  1881. /* [string][in][unique] */ LPCWSTR pszMDPath,
  1882. /* [in] */ DWORD dwMDAttributes,
  1883. /* [in] */ DWORD dwMDUserType,
  1884. /* [in] */ DWORD dwMDDataType,
  1885. /* [out] */ DWORD *pdwMDNumDataEntries,
  1886. /* [out] */ DWORD *pdwMDDataSetNumber,
  1887. /* [in] */ DWORD dwMDBufferSize,
  1888. /* [out] */ DWORD *pdwMDRequiredBufferSize,
  1889. /* [out] */ struct _IIS_CRYPTO_BLOB **ppDataBlob);
  1890. /* [restricted][local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase1_Proxy(
  1891. IMSAdminBaseW * This);
  1892. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase1_Stub(
  1893. IMSAdminBaseW * This,
  1894. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientKeyExchangeKeyBlob,
  1895. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientSignatureKeyBlob,
  1896. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerKeyExchangeKeyBlob,
  1897. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerSignatureKeyBlob,
  1898. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerSessionKeyBlob);
  1899. /* [restricted][local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase2_Proxy(
  1900. IMSAdminBaseW * This);
  1901. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_KeyExchangePhase2_Stub(
  1902. IMSAdminBaseW * This,
  1903. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientSessionKeyBlob,
  1904. /* [in][unique] */ struct _IIS_CRYPTO_BLOB *pClientHashBlob,
  1905. /* [out] */ struct _IIS_CRYPTO_BLOB **ppServerHashBlob);
  1906. /* [restricted][local] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetServerGuid_Proxy(
  1907. IMSAdminBaseW * This);
  1908. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMSAdminBaseW_GetServerGuid_Stub(
  1909. IMSAdminBaseW * This,
  1910. /* [out] */ GUID *pServerGuid);
  1911. /* end of Additional Prototypes */
  1912. #ifdef __cplusplus
  1913. }
  1914. #endif
  1915. #endif