Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3336 lines
97 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for umi.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  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 __umi_h__
  23. #define __umi_h__
  24. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  25. #pragma once
  26. #endif
  27. /* Forward Declarations */
  28. #ifndef __IUmiPropList_FWD_DEFINED__
  29. #define __IUmiPropList_FWD_DEFINED__
  30. typedef interface IUmiPropList IUmiPropList;
  31. #endif /* __IUmiPropList_FWD_DEFINED__ */
  32. #ifndef __IUmiBaseObject_FWD_DEFINED__
  33. #define __IUmiBaseObject_FWD_DEFINED__
  34. typedef interface IUmiBaseObject IUmiBaseObject;
  35. #endif /* __IUmiBaseObject_FWD_DEFINED__ */
  36. #ifndef __IUmiObject_FWD_DEFINED__
  37. #define __IUmiObject_FWD_DEFINED__
  38. typedef interface IUmiObject IUmiObject;
  39. #endif /* __IUmiObject_FWD_DEFINED__ */
  40. #ifndef __IUmiConnection_FWD_DEFINED__
  41. #define __IUmiConnection_FWD_DEFINED__
  42. typedef interface IUmiConnection IUmiConnection;
  43. #endif /* __IUmiConnection_FWD_DEFINED__ */
  44. #ifndef __IUmiContainer_FWD_DEFINED__
  45. #define __IUmiContainer_FWD_DEFINED__
  46. typedef interface IUmiContainer IUmiContainer;
  47. #endif /* __IUmiContainer_FWD_DEFINED__ */
  48. #ifndef __IUmiCursor_FWD_DEFINED__
  49. #define __IUmiCursor_FWD_DEFINED__
  50. typedef interface IUmiCursor IUmiCursor;
  51. #endif /* __IUmiCursor_FWD_DEFINED__ */
  52. #ifndef __IUmiObjectSink_FWD_DEFINED__
  53. #define __IUmiObjectSink_FWD_DEFINED__
  54. typedef interface IUmiObjectSink IUmiObjectSink;
  55. #endif /* __IUmiObjectSink_FWD_DEFINED__ */
  56. #ifndef __IUmiURLKeyList_FWD_DEFINED__
  57. #define __IUmiURLKeyList_FWD_DEFINED__
  58. typedef interface IUmiURLKeyList IUmiURLKeyList;
  59. #endif /* __IUmiURLKeyList_FWD_DEFINED__ */
  60. #ifndef __IUmiURL_FWD_DEFINED__
  61. #define __IUmiURL_FWD_DEFINED__
  62. typedef interface IUmiURL IUmiURL;
  63. #endif /* __IUmiURL_FWD_DEFINED__ */
  64. #ifndef __IUmiQuery_FWD_DEFINED__
  65. #define __IUmiQuery_FWD_DEFINED__
  66. typedef interface IUmiQuery IUmiQuery;
  67. #endif /* __IUmiQuery_FWD_DEFINED__ */
  68. #ifndef __IUmiCustomInterfaceFactory_FWD_DEFINED__
  69. #define __IUmiCustomInterfaceFactory_FWD_DEFINED__
  70. typedef interface IUmiCustomInterfaceFactory IUmiCustomInterfaceFactory;
  71. #endif /* __IUmiCustomInterfaceFactory_FWD_DEFINED__ */
  72. #ifndef __UmiDefURL_FWD_DEFINED__
  73. #define __UmiDefURL_FWD_DEFINED__
  74. #ifdef __cplusplus
  75. typedef class UmiDefURL UmiDefURL;
  76. #else
  77. typedef struct UmiDefURL UmiDefURL;
  78. #endif /* __cplusplus */
  79. #endif /* __UmiDefURL_FWD_DEFINED__ */
  80. #ifdef __cplusplus
  81. extern "C"{
  82. #endif
  83. void * __RPC_USER MIDL_user_allocate(size_t);
  84. void __RPC_USER MIDL_user_free( void * );
  85. #ifndef __UMI_V6_LIBRARY_DEFINED__
  86. #define __UMI_V6_LIBRARY_DEFINED__
  87. /* library UMI_V6 */
  88. /* [uuid] */
  89. typedef
  90. enum tag_UMI_TYPE_ENUMERATION
  91. { UMI_TYPE_NULL = 0,
  92. UMI_TYPE_I1 = 1,
  93. UMI_TYPE_I2 = 2,
  94. UMI_TYPE_I4 = 3,
  95. UMI_TYPE_I8 = 4,
  96. UMI_TYPE_UI1 = 5,
  97. UMI_TYPE_UI2 = 6,
  98. UMI_TYPE_UI4 = 7,
  99. UMI_TYPE_UI8 = 8,
  100. UMI_TYPE_R4 = 9,
  101. UMI_TYPE_R8 = 10,
  102. UMI_TYPE_FILETIME = 12,
  103. UMI_TYPE_SYSTEMTIME = 13,
  104. UMI_TYPE_BOOL = 14,
  105. UMI_TYPE_IDISPATCH = 15,
  106. UMI_TYPE_IUNKNOWN = 16,
  107. UMI_TYPE_VARIANT = 17,
  108. UMI_TYPE_LPWSTR = 20,
  109. UMI_TYPE_OCTETSTRING = 21,
  110. UMI_TYPE_UMIARRAY = 22,
  111. UMI_TYPE_DISCOVERY = 23,
  112. UMI_TYPE_UNDEFINED = 24,
  113. UMI_TYPE_DEFAULT = 25,
  114. UMI_TYPE_ARRAY_FLAG = 0x2000
  115. } UMI_TYPE_ENUMERATION;
  116. typedef ULONG UMI_TYPE;
  117. typedef /* [public] */
  118. enum __MIDL___MIDL_itf_umi_0000_0001
  119. { UMI_GENUS_CLASS = 1,
  120. UMI_GENUS_INSTANCE = 2
  121. } UMI_GENUS_TYPE;
  122. typedef /* [public] */
  123. enum __MIDL___MIDL_itf_umi_0000_0002
  124. { UMI_DONT_COMMIT_SECURITY_DESCRIPTOR = 0x10
  125. } UMI_COMMIT_FLAGS;
  126. typedef /* [public] */
  127. enum __MIDL___MIDL_itf_umi_0000_0003
  128. { UMI_FLAG_GETPROPS_ALL = 1,
  129. UMI_FLAG_GETPROPS_SCHEMA = 0x2,
  130. UMI_MASK_GETPROPS_PROP = 0xff,
  131. UMI_FLAG_GETPROPS_NAMES = 0x100,
  132. UMI_MASK_GETPROPS_EXT = 0x100
  133. } UMI_GETPROPS_FLAGS;
  134. typedef /* [public] */
  135. enum __MIDL___MIDL_itf_umi_0000_0004
  136. { UMI_FLAG_OWNER_SECURITY_INFORMATION = 0x1,
  137. UMI_FLAG_GROUP_SECURITY_INFORMATION = 0x2,
  138. UMI_FLAG_DACL_SECURITY_INFORMATION = 0x4,
  139. UMI_FLAG_SACL_SECURITY_INFORMATION = 0x8,
  140. UMI_SECURITY_MASK = 0xf,
  141. UMI_FLAG_PROVIDER_CACHE = 0x10,
  142. UMI_FLAG_PROPERTY_ORIGIN = 0x20
  143. } UMI_GET_FLAGS;
  144. typedef /* [public] */
  145. enum __MIDL___MIDL_itf_umi_0000_0005
  146. { UMI_FLAG_REFRESH_ALL = 0,
  147. UMI_FLAG_REFRESH_PARTIAL = 1
  148. } UMI_REFRESH_FLAGS;
  149. typedef /* [public] */
  150. enum __MIDL___MIDL_itf_umi_0000_0006
  151. { UMI_OPERATION_NONE = 0,
  152. UMI_OPERATION_APPEND = 1,
  153. UMI_OPERATION_UPDATE = 2,
  154. UMI_OPERATION_EMPTY = 3,
  155. UMI_OPERATION_INSERT_AT = 4,
  156. UMI_OPERATION_REMOVE_AT = 5,
  157. UMI_OPERATION_DELETE_AT = 6,
  158. UMI_OPERATION_DELETE_FIRST_MATCH = 7,
  159. UMI_OPERATION_DELETE_ALL_MATCHES = 8,
  160. UMI_OPERATION_RESTORE_DEFAULT = 9
  161. } UMI_PROP_INSTRUCTION;
  162. typedef /* [public] */
  163. enum __MIDL___MIDL_itf_umi_0000_0007
  164. { UMI_OPERATION_INSTANCE = 0x1000,
  165. UMI_OPERATION_CLASS = 0x2000
  166. } UMI_OPERATION_PATH;
  167. typedef /* [public] */
  168. enum __MIDL___MIDL_itf_umi_0000_0008
  169. { UMIPATH_CREATE_AS_NATIVE = 0x8000,
  170. UMIPATH_CREATE_AS_EITHER = 0x4000,
  171. UMIPATH_CREATE_ACCEPT_RELATIVE = 0x4
  172. } tag_UMI_PATH_CREATE_FLAG;
  173. typedef
  174. enum tag_WMI_PATH_STATUS_FLAG
  175. { UMIPATH_INFO_NATIVE_STRING = 0x1,
  176. UMIPATH_INFO_RELATIVE_PATH = 0x2,
  177. UMIPATH_INFO_INSTANCE_PATH = 0x4,
  178. UMIPATH_INFO_CLASS_PATH = 0x8,
  179. UMIPATH_INFO_SINGLETON_PATH = 0x10
  180. } tag_UMI_PATH_STATUS_FLAG;
  181. typedef /* [public] */
  182. enum __MIDL___MIDL_itf_umi_0000_0009
  183. { UMI_S_NO_ERROR = 0,
  184. UMI_E_CONNECTION_FAILURE = 0x80041001,
  185. UMI_E_TIMED_OUT = 0x80041002,
  186. UMI_E_TYPE_MISMATCH = 0x80041003,
  187. UMI_E_NOT_FOUND = 0x80041004,
  188. UMI_E_INVALID_FLAGS = 0x80041005,
  189. UMI_E_UNSUPPORTED_FLAGS = 0x80041006,
  190. UMI_E_SYNCHRONIZATION_REQUIRED = 0x80041007,
  191. UMI_E_UNSUPPORTED_OPERATION = 0x80041008,
  192. UMI_E_TRANSACTION_FAILURE = 0x80041009,
  193. UMI_E_UNBOUND_OBJECT = 0x8004100a
  194. } UMI_STATUS;
  195. typedef struct tag_UMI_OCTET_STRING
  196. {
  197. ULONG uLength;
  198. byte *lpValue;
  199. } UMI_OCTET_STRING;
  200. typedef struct tag_UMI_OCTET_STRING *PUMI_OCTET_STRING;
  201. typedef struct tag_UMI_COM_OBJECT
  202. {
  203. IID *priid;
  204. LPVOID pInterface;
  205. } UMI_COM_OBJECT;
  206. typedef struct tag_UMI_COM_OBJECT *PUMI_COM_OBJECT;
  207. typedef /* [public][public][public][public][public][public][public][public][public][public] */ union __MIDL___MIDL_itf_umi_0000_0010
  208. {
  209. CHAR cValue[ 1 ];
  210. UCHAR ucValue[ 1 ];
  211. WCHAR wcValue[ 1 ];
  212. WORD wValue[ 1 ];
  213. DWORD dwValue[ 1 ];
  214. LONG lValue[ 1 ];
  215. ULONG uValue[ 1 ];
  216. BYTE byteValue[ 1 ];
  217. BOOL bValue[ 1 ];
  218. LPWSTR pszStrValue[ 1 ];
  219. FILETIME fileTimeValue[ 1 ];
  220. SYSTEMTIME sysTimeValue[ 1 ];
  221. double dblValue[ 1 ];
  222. unsigned __int64 uValue64[ 1 ];
  223. __int64 nValue64[ 1 ];
  224. UMI_OCTET_STRING octetStr[ 1 ];
  225. UMI_COM_OBJECT comObject[ 1 ];
  226. } UMI_VALUE;
  227. typedef union __MIDL___MIDL_itf_umi_0000_0010 *PUMI_VALUE;
  228. typedef /* [public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_umi_0000_0011
  229. {
  230. UMI_TYPE uType;
  231. ULONG uCount;
  232. ULONG uOperationType;
  233. LPWSTR pszPropertyName;
  234. UMI_VALUE *pUMIValue;
  235. } UMI_PROPERTY;
  236. typedef struct __MIDL___MIDL_itf_umi_0000_0011 *PUMI_PROPERTY;
  237. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_umi_0000_0012
  238. {
  239. ULONG uCount;
  240. UMI_PROPERTY *pPropArray;
  241. } UMI_PROPERTY_VALUES;
  242. typedef struct __MIDL___MIDL_itf_umi_0000_0012 *PUMI_PROPERTY_VALUES;
  243. EXTERN_C const IID LIBID_UMI_V6;
  244. #ifndef __IUmiPropList_INTERFACE_DEFINED__
  245. #define __IUmiPropList_INTERFACE_DEFINED__
  246. /* interface IUmiPropList */
  247. /* [uuid][local][object] */
  248. EXTERN_C const IID IID_IUmiPropList;
  249. #if defined(__cplusplus) && !defined(CINTERFACE)
  250. MIDL_INTERFACE("12575a7b-d9db-11d3-a11f-00105a1f515a")
  251. IUmiPropList : public IUnknown
  252. {
  253. public:
  254. virtual HRESULT STDMETHODCALLTYPE Put(
  255. /* [in] */ LPCWSTR pszName,
  256. /* [in] */ ULONG uFlags,
  257. /* [in] */ UMI_PROPERTY_VALUES *pProp) = 0;
  258. virtual HRESULT STDMETHODCALLTYPE Get(
  259. /* [in] */ LPCWSTR pszName,
  260. /* [in] */ ULONG uFlags,
  261. /* [out] */ UMI_PROPERTY_VALUES **pProp) = 0;
  262. virtual HRESULT STDMETHODCALLTYPE GetAt(
  263. /* [in] */ LPCWSTR pszName,
  264. /* [in] */ ULONG uFlags,
  265. /* [in] */ ULONG uBufferLength,
  266. /* [out] */ LPVOID pExistingMem) = 0;
  267. virtual HRESULT STDMETHODCALLTYPE GetAs(
  268. /* [in] */ LPCWSTR pszName,
  269. /* [in] */ ULONG uFlags,
  270. /* [in] */ ULONG uCoercionType,
  271. /* [out] */ UMI_PROPERTY_VALUES **pProp) = 0;
  272. virtual HRESULT STDMETHODCALLTYPE FreeMemory(
  273. ULONG uReserved,
  274. LPVOID pMem) = 0;
  275. virtual HRESULT STDMETHODCALLTYPE Delete(
  276. /* [in] */ LPCWSTR pszName,
  277. /* [in] */ ULONG uFlags) = 0;
  278. virtual HRESULT STDMETHODCALLTYPE GetProps(
  279. /* [in] */ LPCWSTR *pszNames,
  280. /* [in] */ ULONG uNameCount,
  281. /* [in] */ ULONG uFlags,
  282. /* [out] */ UMI_PROPERTY_VALUES **pProps) = 0;
  283. virtual HRESULT STDMETHODCALLTYPE PutProps(
  284. /* [in] */ LPCWSTR *pszNames,
  285. /* [in] */ ULONG uNameCount,
  286. /* [in] */ ULONG uFlags,
  287. /* [in] */ UMI_PROPERTY_VALUES *pProps) = 0;
  288. virtual HRESULT STDMETHODCALLTYPE PutFrom(
  289. /* [in] */ LPCWSTR pszName,
  290. /* [in] */ ULONG uFlags,
  291. /* [in] */ ULONG uBufferLength,
  292. /* [in] */ LPVOID pExistingMem) = 0;
  293. };
  294. #else /* C style interface */
  295. typedef struct IUmiPropListVtbl
  296. {
  297. BEGIN_INTERFACE
  298. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  299. IUmiPropList * This,
  300. /* [in] */ REFIID riid,
  301. /* [iid_is][out] */ void **ppvObject);
  302. ULONG ( STDMETHODCALLTYPE *AddRef )(
  303. IUmiPropList * This);
  304. ULONG ( STDMETHODCALLTYPE *Release )(
  305. IUmiPropList * This);
  306. HRESULT ( STDMETHODCALLTYPE *Put )(
  307. IUmiPropList * This,
  308. /* [in] */ LPCWSTR pszName,
  309. /* [in] */ ULONG uFlags,
  310. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  311. HRESULT ( STDMETHODCALLTYPE *Get )(
  312. IUmiPropList * This,
  313. /* [in] */ LPCWSTR pszName,
  314. /* [in] */ ULONG uFlags,
  315. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  316. HRESULT ( STDMETHODCALLTYPE *GetAt )(
  317. IUmiPropList * This,
  318. /* [in] */ LPCWSTR pszName,
  319. /* [in] */ ULONG uFlags,
  320. /* [in] */ ULONG uBufferLength,
  321. /* [out] */ LPVOID pExistingMem);
  322. HRESULT ( STDMETHODCALLTYPE *GetAs )(
  323. IUmiPropList * This,
  324. /* [in] */ LPCWSTR pszName,
  325. /* [in] */ ULONG uFlags,
  326. /* [in] */ ULONG uCoercionType,
  327. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  328. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  329. IUmiPropList * This,
  330. ULONG uReserved,
  331. LPVOID pMem);
  332. HRESULT ( STDMETHODCALLTYPE *Delete )(
  333. IUmiPropList * This,
  334. /* [in] */ LPCWSTR pszName,
  335. /* [in] */ ULONG uFlags);
  336. HRESULT ( STDMETHODCALLTYPE *GetProps )(
  337. IUmiPropList * This,
  338. /* [in] */ LPCWSTR *pszNames,
  339. /* [in] */ ULONG uNameCount,
  340. /* [in] */ ULONG uFlags,
  341. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  342. HRESULT ( STDMETHODCALLTYPE *PutProps )(
  343. IUmiPropList * This,
  344. /* [in] */ LPCWSTR *pszNames,
  345. /* [in] */ ULONG uNameCount,
  346. /* [in] */ ULONG uFlags,
  347. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  348. HRESULT ( STDMETHODCALLTYPE *PutFrom )(
  349. IUmiPropList * This,
  350. /* [in] */ LPCWSTR pszName,
  351. /* [in] */ ULONG uFlags,
  352. /* [in] */ ULONG uBufferLength,
  353. /* [in] */ LPVOID pExistingMem);
  354. END_INTERFACE
  355. } IUmiPropListVtbl;
  356. interface IUmiPropList
  357. {
  358. CONST_VTBL struct IUmiPropListVtbl *lpVtbl;
  359. };
  360. #ifdef COBJMACROS
  361. #define IUmiPropList_QueryInterface(This,riid,ppvObject) \
  362. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  363. #define IUmiPropList_AddRef(This) \
  364. (This)->lpVtbl -> AddRef(This)
  365. #define IUmiPropList_Release(This) \
  366. (This)->lpVtbl -> Release(This)
  367. #define IUmiPropList_Put(This,pszName,uFlags,pProp) \
  368. (This)->lpVtbl -> Put(This,pszName,uFlags,pProp)
  369. #define IUmiPropList_Get(This,pszName,uFlags,pProp) \
  370. (This)->lpVtbl -> Get(This,pszName,uFlags,pProp)
  371. #define IUmiPropList_GetAt(This,pszName,uFlags,uBufferLength,pExistingMem) \
  372. (This)->lpVtbl -> GetAt(This,pszName,uFlags,uBufferLength,pExistingMem)
  373. #define IUmiPropList_GetAs(This,pszName,uFlags,uCoercionType,pProp) \
  374. (This)->lpVtbl -> GetAs(This,pszName,uFlags,uCoercionType,pProp)
  375. #define IUmiPropList_FreeMemory(This,uReserved,pMem) \
  376. (This)->lpVtbl -> FreeMemory(This,uReserved,pMem)
  377. #define IUmiPropList_Delete(This,pszName,uFlags) \
  378. (This)->lpVtbl -> Delete(This,pszName,uFlags)
  379. #define IUmiPropList_GetProps(This,pszNames,uNameCount,uFlags,pProps) \
  380. (This)->lpVtbl -> GetProps(This,pszNames,uNameCount,uFlags,pProps)
  381. #define IUmiPropList_PutProps(This,pszNames,uNameCount,uFlags,pProps) \
  382. (This)->lpVtbl -> PutProps(This,pszNames,uNameCount,uFlags,pProps)
  383. #define IUmiPropList_PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem) \
  384. (This)->lpVtbl -> PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem)
  385. #endif /* COBJMACROS */
  386. #endif /* C style interface */
  387. HRESULT STDMETHODCALLTYPE IUmiPropList_Put_Proxy(
  388. IUmiPropList * This,
  389. /* [in] */ LPCWSTR pszName,
  390. /* [in] */ ULONG uFlags,
  391. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  392. void __RPC_STUB IUmiPropList_Put_Stub(
  393. IRpcStubBuffer *This,
  394. IRpcChannelBuffer *_pRpcChannelBuffer,
  395. PRPC_MESSAGE _pRpcMessage,
  396. DWORD *_pdwStubPhase);
  397. HRESULT STDMETHODCALLTYPE IUmiPropList_Get_Proxy(
  398. IUmiPropList * This,
  399. /* [in] */ LPCWSTR pszName,
  400. /* [in] */ ULONG uFlags,
  401. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  402. void __RPC_STUB IUmiPropList_Get_Stub(
  403. IRpcStubBuffer *This,
  404. IRpcChannelBuffer *_pRpcChannelBuffer,
  405. PRPC_MESSAGE _pRpcMessage,
  406. DWORD *_pdwStubPhase);
  407. HRESULT STDMETHODCALLTYPE IUmiPropList_GetAt_Proxy(
  408. IUmiPropList * This,
  409. /* [in] */ LPCWSTR pszName,
  410. /* [in] */ ULONG uFlags,
  411. /* [in] */ ULONG uBufferLength,
  412. /* [out] */ LPVOID pExistingMem);
  413. void __RPC_STUB IUmiPropList_GetAt_Stub(
  414. IRpcStubBuffer *This,
  415. IRpcChannelBuffer *_pRpcChannelBuffer,
  416. PRPC_MESSAGE _pRpcMessage,
  417. DWORD *_pdwStubPhase);
  418. HRESULT STDMETHODCALLTYPE IUmiPropList_GetAs_Proxy(
  419. IUmiPropList * This,
  420. /* [in] */ LPCWSTR pszName,
  421. /* [in] */ ULONG uFlags,
  422. /* [in] */ ULONG uCoercionType,
  423. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  424. void __RPC_STUB IUmiPropList_GetAs_Stub(
  425. IRpcStubBuffer *This,
  426. IRpcChannelBuffer *_pRpcChannelBuffer,
  427. PRPC_MESSAGE _pRpcMessage,
  428. DWORD *_pdwStubPhase);
  429. HRESULT STDMETHODCALLTYPE IUmiPropList_FreeMemory_Proxy(
  430. IUmiPropList * This,
  431. ULONG uReserved,
  432. LPVOID pMem);
  433. void __RPC_STUB IUmiPropList_FreeMemory_Stub(
  434. IRpcStubBuffer *This,
  435. IRpcChannelBuffer *_pRpcChannelBuffer,
  436. PRPC_MESSAGE _pRpcMessage,
  437. DWORD *_pdwStubPhase);
  438. HRESULT STDMETHODCALLTYPE IUmiPropList_Delete_Proxy(
  439. IUmiPropList * This,
  440. /* [in] */ LPCWSTR pszName,
  441. /* [in] */ ULONG uFlags);
  442. void __RPC_STUB IUmiPropList_Delete_Stub(
  443. IRpcStubBuffer *This,
  444. IRpcChannelBuffer *_pRpcChannelBuffer,
  445. PRPC_MESSAGE _pRpcMessage,
  446. DWORD *_pdwStubPhase);
  447. HRESULT STDMETHODCALLTYPE IUmiPropList_GetProps_Proxy(
  448. IUmiPropList * This,
  449. /* [in] */ LPCWSTR *pszNames,
  450. /* [in] */ ULONG uNameCount,
  451. /* [in] */ ULONG uFlags,
  452. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  453. void __RPC_STUB IUmiPropList_GetProps_Stub(
  454. IRpcStubBuffer *This,
  455. IRpcChannelBuffer *_pRpcChannelBuffer,
  456. PRPC_MESSAGE _pRpcMessage,
  457. DWORD *_pdwStubPhase);
  458. HRESULT STDMETHODCALLTYPE IUmiPropList_PutProps_Proxy(
  459. IUmiPropList * This,
  460. /* [in] */ LPCWSTR *pszNames,
  461. /* [in] */ ULONG uNameCount,
  462. /* [in] */ ULONG uFlags,
  463. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  464. void __RPC_STUB IUmiPropList_PutProps_Stub(
  465. IRpcStubBuffer *This,
  466. IRpcChannelBuffer *_pRpcChannelBuffer,
  467. PRPC_MESSAGE _pRpcMessage,
  468. DWORD *_pdwStubPhase);
  469. HRESULT STDMETHODCALLTYPE IUmiPropList_PutFrom_Proxy(
  470. IUmiPropList * This,
  471. /* [in] */ LPCWSTR pszName,
  472. /* [in] */ ULONG uFlags,
  473. /* [in] */ ULONG uBufferLength,
  474. /* [in] */ LPVOID pExistingMem);
  475. void __RPC_STUB IUmiPropList_PutFrom_Stub(
  476. IRpcStubBuffer *This,
  477. IRpcChannelBuffer *_pRpcChannelBuffer,
  478. PRPC_MESSAGE _pRpcMessage,
  479. DWORD *_pdwStubPhase);
  480. #endif /* __IUmiPropList_INTERFACE_DEFINED__ */
  481. #ifndef __IUmiBaseObject_INTERFACE_DEFINED__
  482. #define __IUmiBaseObject_INTERFACE_DEFINED__
  483. /* interface IUmiBaseObject */
  484. /* [uuid][local][object] */
  485. EXTERN_C const IID IID_IUmiBaseObject;
  486. #if defined(__cplusplus) && !defined(CINTERFACE)
  487. MIDL_INTERFACE("12575a7c-d9db-11d3-a11f-00105a1f515a")
  488. IUmiBaseObject : public IUmiPropList
  489. {
  490. public:
  491. virtual HRESULT STDMETHODCALLTYPE GetLastStatus(
  492. /* [in] */ ULONG uFlags,
  493. /* [out] */ ULONG *puSpecificStatus,
  494. /* [in] */ REFIID riid,
  495. /* [iid_is][out] */ LPVOID *pStatusObj) = 0;
  496. virtual HRESULT STDMETHODCALLTYPE GetInterfacePropList(
  497. /* [in] */ ULONG uFlags,
  498. /* [out] */ IUmiPropList **pPropList) = 0;
  499. };
  500. #else /* C style interface */
  501. typedef struct IUmiBaseObjectVtbl
  502. {
  503. BEGIN_INTERFACE
  504. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  505. IUmiBaseObject * This,
  506. /* [in] */ REFIID riid,
  507. /* [iid_is][out] */ void **ppvObject);
  508. ULONG ( STDMETHODCALLTYPE *AddRef )(
  509. IUmiBaseObject * This);
  510. ULONG ( STDMETHODCALLTYPE *Release )(
  511. IUmiBaseObject * This);
  512. HRESULT ( STDMETHODCALLTYPE *Put )(
  513. IUmiBaseObject * This,
  514. /* [in] */ LPCWSTR pszName,
  515. /* [in] */ ULONG uFlags,
  516. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  517. HRESULT ( STDMETHODCALLTYPE *Get )(
  518. IUmiBaseObject * This,
  519. /* [in] */ LPCWSTR pszName,
  520. /* [in] */ ULONG uFlags,
  521. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  522. HRESULT ( STDMETHODCALLTYPE *GetAt )(
  523. IUmiBaseObject * This,
  524. /* [in] */ LPCWSTR pszName,
  525. /* [in] */ ULONG uFlags,
  526. /* [in] */ ULONG uBufferLength,
  527. /* [out] */ LPVOID pExistingMem);
  528. HRESULT ( STDMETHODCALLTYPE *GetAs )(
  529. IUmiBaseObject * This,
  530. /* [in] */ LPCWSTR pszName,
  531. /* [in] */ ULONG uFlags,
  532. /* [in] */ ULONG uCoercionType,
  533. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  534. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  535. IUmiBaseObject * This,
  536. ULONG uReserved,
  537. LPVOID pMem);
  538. HRESULT ( STDMETHODCALLTYPE *Delete )(
  539. IUmiBaseObject * This,
  540. /* [in] */ LPCWSTR pszName,
  541. /* [in] */ ULONG uFlags);
  542. HRESULT ( STDMETHODCALLTYPE *GetProps )(
  543. IUmiBaseObject * This,
  544. /* [in] */ LPCWSTR *pszNames,
  545. /* [in] */ ULONG uNameCount,
  546. /* [in] */ ULONG uFlags,
  547. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  548. HRESULT ( STDMETHODCALLTYPE *PutProps )(
  549. IUmiBaseObject * This,
  550. /* [in] */ LPCWSTR *pszNames,
  551. /* [in] */ ULONG uNameCount,
  552. /* [in] */ ULONG uFlags,
  553. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  554. HRESULT ( STDMETHODCALLTYPE *PutFrom )(
  555. IUmiBaseObject * This,
  556. /* [in] */ LPCWSTR pszName,
  557. /* [in] */ ULONG uFlags,
  558. /* [in] */ ULONG uBufferLength,
  559. /* [in] */ LPVOID pExistingMem);
  560. HRESULT ( STDMETHODCALLTYPE *GetLastStatus )(
  561. IUmiBaseObject * This,
  562. /* [in] */ ULONG uFlags,
  563. /* [out] */ ULONG *puSpecificStatus,
  564. /* [in] */ REFIID riid,
  565. /* [iid_is][out] */ LPVOID *pStatusObj);
  566. HRESULT ( STDMETHODCALLTYPE *GetInterfacePropList )(
  567. IUmiBaseObject * This,
  568. /* [in] */ ULONG uFlags,
  569. /* [out] */ IUmiPropList **pPropList);
  570. END_INTERFACE
  571. } IUmiBaseObjectVtbl;
  572. interface IUmiBaseObject
  573. {
  574. CONST_VTBL struct IUmiBaseObjectVtbl *lpVtbl;
  575. };
  576. #ifdef COBJMACROS
  577. #define IUmiBaseObject_QueryInterface(This,riid,ppvObject) \
  578. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  579. #define IUmiBaseObject_AddRef(This) \
  580. (This)->lpVtbl -> AddRef(This)
  581. #define IUmiBaseObject_Release(This) \
  582. (This)->lpVtbl -> Release(This)
  583. #define IUmiBaseObject_Put(This,pszName,uFlags,pProp) \
  584. (This)->lpVtbl -> Put(This,pszName,uFlags,pProp)
  585. #define IUmiBaseObject_Get(This,pszName,uFlags,pProp) \
  586. (This)->lpVtbl -> Get(This,pszName,uFlags,pProp)
  587. #define IUmiBaseObject_GetAt(This,pszName,uFlags,uBufferLength,pExistingMem) \
  588. (This)->lpVtbl -> GetAt(This,pszName,uFlags,uBufferLength,pExistingMem)
  589. #define IUmiBaseObject_GetAs(This,pszName,uFlags,uCoercionType,pProp) \
  590. (This)->lpVtbl -> GetAs(This,pszName,uFlags,uCoercionType,pProp)
  591. #define IUmiBaseObject_FreeMemory(This,uReserved,pMem) \
  592. (This)->lpVtbl -> FreeMemory(This,uReserved,pMem)
  593. #define IUmiBaseObject_Delete(This,pszName,uFlags) \
  594. (This)->lpVtbl -> Delete(This,pszName,uFlags)
  595. #define IUmiBaseObject_GetProps(This,pszNames,uNameCount,uFlags,pProps) \
  596. (This)->lpVtbl -> GetProps(This,pszNames,uNameCount,uFlags,pProps)
  597. #define IUmiBaseObject_PutProps(This,pszNames,uNameCount,uFlags,pProps) \
  598. (This)->lpVtbl -> PutProps(This,pszNames,uNameCount,uFlags,pProps)
  599. #define IUmiBaseObject_PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem) \
  600. (This)->lpVtbl -> PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem)
  601. #define IUmiBaseObject_GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj) \
  602. (This)->lpVtbl -> GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj)
  603. #define IUmiBaseObject_GetInterfacePropList(This,uFlags,pPropList) \
  604. (This)->lpVtbl -> GetInterfacePropList(This,uFlags,pPropList)
  605. #endif /* COBJMACROS */
  606. #endif /* C style interface */
  607. HRESULT STDMETHODCALLTYPE IUmiBaseObject_GetLastStatus_Proxy(
  608. IUmiBaseObject * This,
  609. /* [in] */ ULONG uFlags,
  610. /* [out] */ ULONG *puSpecificStatus,
  611. /* [in] */ REFIID riid,
  612. /* [iid_is][out] */ LPVOID *pStatusObj);
  613. void __RPC_STUB IUmiBaseObject_GetLastStatus_Stub(
  614. IRpcStubBuffer *This,
  615. IRpcChannelBuffer *_pRpcChannelBuffer,
  616. PRPC_MESSAGE _pRpcMessage,
  617. DWORD *_pdwStubPhase);
  618. HRESULT STDMETHODCALLTYPE IUmiBaseObject_GetInterfacePropList_Proxy(
  619. IUmiBaseObject * This,
  620. /* [in] */ ULONG uFlags,
  621. /* [out] */ IUmiPropList **pPropList);
  622. void __RPC_STUB IUmiBaseObject_GetInterfacePropList_Stub(
  623. IRpcStubBuffer *This,
  624. IRpcChannelBuffer *_pRpcChannelBuffer,
  625. PRPC_MESSAGE _pRpcMessage,
  626. DWORD *_pdwStubPhase);
  627. #endif /* __IUmiBaseObject_INTERFACE_DEFINED__ */
  628. #ifndef __IUmiObject_INTERFACE_DEFINED__
  629. #define __IUmiObject_INTERFACE_DEFINED__
  630. /* interface IUmiObject */
  631. /* [uuid][local][object] */
  632. EXTERN_C const IID IID_IUmiObject;
  633. #if defined(__cplusplus) && !defined(CINTERFACE)
  634. MIDL_INTERFACE("5ed7ee23-64a4-11d3-a0da-00105a1f515a")
  635. IUmiObject : public IUmiBaseObject
  636. {
  637. public:
  638. virtual HRESULT STDMETHODCALLTYPE Clone(
  639. /* [in] */ ULONG uFlags,
  640. /* [in] */ REFIID riid,
  641. /* [iid_is][out] */ LPVOID *pCopy) = 0;
  642. virtual HRESULT STDMETHODCALLTYPE CopyTo(
  643. /* [in] */ ULONG uFlags,
  644. /* [in] */ IUmiURL *pURL,
  645. /* [in] */ REFIID riid,
  646. /* [iid_is][out] */ LPVOID *pCopy) = 0;
  647. virtual HRESULT STDMETHODCALLTYPE Refresh(
  648. /* [in] */ ULONG uFlags,
  649. /* [in] */ ULONG uNameCount,
  650. /* [in] */ LPWSTR *pszNames) = 0;
  651. virtual HRESULT STDMETHODCALLTYPE Commit(
  652. /* [in] */ ULONG uFlags) = 0;
  653. };
  654. #else /* C style interface */
  655. typedef struct IUmiObjectVtbl
  656. {
  657. BEGIN_INTERFACE
  658. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  659. IUmiObject * This,
  660. /* [in] */ REFIID riid,
  661. /* [iid_is][out] */ void **ppvObject);
  662. ULONG ( STDMETHODCALLTYPE *AddRef )(
  663. IUmiObject * This);
  664. ULONG ( STDMETHODCALLTYPE *Release )(
  665. IUmiObject * This);
  666. HRESULT ( STDMETHODCALLTYPE *Put )(
  667. IUmiObject * This,
  668. /* [in] */ LPCWSTR pszName,
  669. /* [in] */ ULONG uFlags,
  670. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  671. HRESULT ( STDMETHODCALLTYPE *Get )(
  672. IUmiObject * This,
  673. /* [in] */ LPCWSTR pszName,
  674. /* [in] */ ULONG uFlags,
  675. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  676. HRESULT ( STDMETHODCALLTYPE *GetAt )(
  677. IUmiObject * This,
  678. /* [in] */ LPCWSTR pszName,
  679. /* [in] */ ULONG uFlags,
  680. /* [in] */ ULONG uBufferLength,
  681. /* [out] */ LPVOID pExistingMem);
  682. HRESULT ( STDMETHODCALLTYPE *GetAs )(
  683. IUmiObject * This,
  684. /* [in] */ LPCWSTR pszName,
  685. /* [in] */ ULONG uFlags,
  686. /* [in] */ ULONG uCoercionType,
  687. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  688. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  689. IUmiObject * This,
  690. ULONG uReserved,
  691. LPVOID pMem);
  692. HRESULT ( STDMETHODCALLTYPE *Delete )(
  693. IUmiObject * This,
  694. /* [in] */ LPCWSTR pszName,
  695. /* [in] */ ULONG uFlags);
  696. HRESULT ( STDMETHODCALLTYPE *GetProps )(
  697. IUmiObject * This,
  698. /* [in] */ LPCWSTR *pszNames,
  699. /* [in] */ ULONG uNameCount,
  700. /* [in] */ ULONG uFlags,
  701. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  702. HRESULT ( STDMETHODCALLTYPE *PutProps )(
  703. IUmiObject * This,
  704. /* [in] */ LPCWSTR *pszNames,
  705. /* [in] */ ULONG uNameCount,
  706. /* [in] */ ULONG uFlags,
  707. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  708. HRESULT ( STDMETHODCALLTYPE *PutFrom )(
  709. IUmiObject * This,
  710. /* [in] */ LPCWSTR pszName,
  711. /* [in] */ ULONG uFlags,
  712. /* [in] */ ULONG uBufferLength,
  713. /* [in] */ LPVOID pExistingMem);
  714. HRESULT ( STDMETHODCALLTYPE *GetLastStatus )(
  715. IUmiObject * This,
  716. /* [in] */ ULONG uFlags,
  717. /* [out] */ ULONG *puSpecificStatus,
  718. /* [in] */ REFIID riid,
  719. /* [iid_is][out] */ LPVOID *pStatusObj);
  720. HRESULT ( STDMETHODCALLTYPE *GetInterfacePropList )(
  721. IUmiObject * This,
  722. /* [in] */ ULONG uFlags,
  723. /* [out] */ IUmiPropList **pPropList);
  724. HRESULT ( STDMETHODCALLTYPE *Clone )(
  725. IUmiObject * This,
  726. /* [in] */ ULONG uFlags,
  727. /* [in] */ REFIID riid,
  728. /* [iid_is][out] */ LPVOID *pCopy);
  729. HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  730. IUmiObject * This,
  731. /* [in] */ ULONG uFlags,
  732. /* [in] */ IUmiURL *pURL,
  733. /* [in] */ REFIID riid,
  734. /* [iid_is][out] */ LPVOID *pCopy);
  735. HRESULT ( STDMETHODCALLTYPE *Refresh )(
  736. IUmiObject * This,
  737. /* [in] */ ULONG uFlags,
  738. /* [in] */ ULONG uNameCount,
  739. /* [in] */ LPWSTR *pszNames);
  740. HRESULT ( STDMETHODCALLTYPE *Commit )(
  741. IUmiObject * This,
  742. /* [in] */ ULONG uFlags);
  743. END_INTERFACE
  744. } IUmiObjectVtbl;
  745. interface IUmiObject
  746. {
  747. CONST_VTBL struct IUmiObjectVtbl *lpVtbl;
  748. };
  749. #ifdef COBJMACROS
  750. #define IUmiObject_QueryInterface(This,riid,ppvObject) \
  751. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  752. #define IUmiObject_AddRef(This) \
  753. (This)->lpVtbl -> AddRef(This)
  754. #define IUmiObject_Release(This) \
  755. (This)->lpVtbl -> Release(This)
  756. #define IUmiObject_Put(This,pszName,uFlags,pProp) \
  757. (This)->lpVtbl -> Put(This,pszName,uFlags,pProp)
  758. #define IUmiObject_Get(This,pszName,uFlags,pProp) \
  759. (This)->lpVtbl -> Get(This,pszName,uFlags,pProp)
  760. #define IUmiObject_GetAt(This,pszName,uFlags,uBufferLength,pExistingMem) \
  761. (This)->lpVtbl -> GetAt(This,pszName,uFlags,uBufferLength,pExistingMem)
  762. #define IUmiObject_GetAs(This,pszName,uFlags,uCoercionType,pProp) \
  763. (This)->lpVtbl -> GetAs(This,pszName,uFlags,uCoercionType,pProp)
  764. #define IUmiObject_FreeMemory(This,uReserved,pMem) \
  765. (This)->lpVtbl -> FreeMemory(This,uReserved,pMem)
  766. #define IUmiObject_Delete(This,pszName,uFlags) \
  767. (This)->lpVtbl -> Delete(This,pszName,uFlags)
  768. #define IUmiObject_GetProps(This,pszNames,uNameCount,uFlags,pProps) \
  769. (This)->lpVtbl -> GetProps(This,pszNames,uNameCount,uFlags,pProps)
  770. #define IUmiObject_PutProps(This,pszNames,uNameCount,uFlags,pProps) \
  771. (This)->lpVtbl -> PutProps(This,pszNames,uNameCount,uFlags,pProps)
  772. #define IUmiObject_PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem) \
  773. (This)->lpVtbl -> PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem)
  774. #define IUmiObject_GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj) \
  775. (This)->lpVtbl -> GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj)
  776. #define IUmiObject_GetInterfacePropList(This,uFlags,pPropList) \
  777. (This)->lpVtbl -> GetInterfacePropList(This,uFlags,pPropList)
  778. #define IUmiObject_Clone(This,uFlags,riid,pCopy) \
  779. (This)->lpVtbl -> Clone(This,uFlags,riid,pCopy)
  780. #define IUmiObject_CopyTo(This,uFlags,pURL,riid,pCopy) \
  781. (This)->lpVtbl -> CopyTo(This,uFlags,pURL,riid,pCopy)
  782. #define IUmiObject_Refresh(This,uFlags,uNameCount,pszNames) \
  783. (This)->lpVtbl -> Refresh(This,uFlags,uNameCount,pszNames)
  784. #define IUmiObject_Commit(This,uFlags) \
  785. (This)->lpVtbl -> Commit(This,uFlags)
  786. #endif /* COBJMACROS */
  787. #endif /* C style interface */
  788. HRESULT STDMETHODCALLTYPE IUmiObject_Clone_Proxy(
  789. IUmiObject * This,
  790. /* [in] */ ULONG uFlags,
  791. /* [in] */ REFIID riid,
  792. /* [iid_is][out] */ LPVOID *pCopy);
  793. void __RPC_STUB IUmiObject_Clone_Stub(
  794. IRpcStubBuffer *This,
  795. IRpcChannelBuffer *_pRpcChannelBuffer,
  796. PRPC_MESSAGE _pRpcMessage,
  797. DWORD *_pdwStubPhase);
  798. HRESULT STDMETHODCALLTYPE IUmiObject_CopyTo_Proxy(
  799. IUmiObject * This,
  800. /* [in] */ ULONG uFlags,
  801. /* [in] */ IUmiURL *pURL,
  802. /* [in] */ REFIID riid,
  803. /* [iid_is][out] */ LPVOID *pCopy);
  804. void __RPC_STUB IUmiObject_CopyTo_Stub(
  805. IRpcStubBuffer *This,
  806. IRpcChannelBuffer *_pRpcChannelBuffer,
  807. PRPC_MESSAGE _pRpcMessage,
  808. DWORD *_pdwStubPhase);
  809. HRESULT STDMETHODCALLTYPE IUmiObject_Refresh_Proxy(
  810. IUmiObject * This,
  811. /* [in] */ ULONG uFlags,
  812. /* [in] */ ULONG uNameCount,
  813. /* [in] */ LPWSTR *pszNames);
  814. void __RPC_STUB IUmiObject_Refresh_Stub(
  815. IRpcStubBuffer *This,
  816. IRpcChannelBuffer *_pRpcChannelBuffer,
  817. PRPC_MESSAGE _pRpcMessage,
  818. DWORD *_pdwStubPhase);
  819. HRESULT STDMETHODCALLTYPE IUmiObject_Commit_Proxy(
  820. IUmiObject * This,
  821. /* [in] */ ULONG uFlags);
  822. void __RPC_STUB IUmiObject_Commit_Stub(
  823. IRpcStubBuffer *This,
  824. IRpcChannelBuffer *_pRpcChannelBuffer,
  825. PRPC_MESSAGE _pRpcMessage,
  826. DWORD *_pdwStubPhase);
  827. #endif /* __IUmiObject_INTERFACE_DEFINED__ */
  828. #ifndef __IUmiConnection_INTERFACE_DEFINED__
  829. #define __IUmiConnection_INTERFACE_DEFINED__
  830. /* interface IUmiConnection */
  831. /* [uuid][local][object] */
  832. EXTERN_C const IID IID_IUmiConnection;
  833. #if defined(__cplusplus) && !defined(CINTERFACE)
  834. MIDL_INTERFACE("5ed7ee20-64a4-11d3-a0da-00105a1f515a")
  835. IUmiConnection : public IUmiBaseObject
  836. {
  837. public:
  838. virtual HRESULT STDMETHODCALLTYPE Open(
  839. /* [in] */ IUmiURL *pURL,
  840. /* [in] */ ULONG uFlags,
  841. /* [in] */ REFIID TargetIID,
  842. /* [iid_is][out] */ void **ppvRes) = 0;
  843. };
  844. #else /* C style interface */
  845. typedef struct IUmiConnectionVtbl
  846. {
  847. BEGIN_INTERFACE
  848. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  849. IUmiConnection * This,
  850. /* [in] */ REFIID riid,
  851. /* [iid_is][out] */ void **ppvObject);
  852. ULONG ( STDMETHODCALLTYPE *AddRef )(
  853. IUmiConnection * This);
  854. ULONG ( STDMETHODCALLTYPE *Release )(
  855. IUmiConnection * This);
  856. HRESULT ( STDMETHODCALLTYPE *Put )(
  857. IUmiConnection * This,
  858. /* [in] */ LPCWSTR pszName,
  859. /* [in] */ ULONG uFlags,
  860. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  861. HRESULT ( STDMETHODCALLTYPE *Get )(
  862. IUmiConnection * This,
  863. /* [in] */ LPCWSTR pszName,
  864. /* [in] */ ULONG uFlags,
  865. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  866. HRESULT ( STDMETHODCALLTYPE *GetAt )(
  867. IUmiConnection * This,
  868. /* [in] */ LPCWSTR pszName,
  869. /* [in] */ ULONG uFlags,
  870. /* [in] */ ULONG uBufferLength,
  871. /* [out] */ LPVOID pExistingMem);
  872. HRESULT ( STDMETHODCALLTYPE *GetAs )(
  873. IUmiConnection * This,
  874. /* [in] */ LPCWSTR pszName,
  875. /* [in] */ ULONG uFlags,
  876. /* [in] */ ULONG uCoercionType,
  877. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  878. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  879. IUmiConnection * This,
  880. ULONG uReserved,
  881. LPVOID pMem);
  882. HRESULT ( STDMETHODCALLTYPE *Delete )(
  883. IUmiConnection * This,
  884. /* [in] */ LPCWSTR pszName,
  885. /* [in] */ ULONG uFlags);
  886. HRESULT ( STDMETHODCALLTYPE *GetProps )(
  887. IUmiConnection * This,
  888. /* [in] */ LPCWSTR *pszNames,
  889. /* [in] */ ULONG uNameCount,
  890. /* [in] */ ULONG uFlags,
  891. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  892. HRESULT ( STDMETHODCALLTYPE *PutProps )(
  893. IUmiConnection * This,
  894. /* [in] */ LPCWSTR *pszNames,
  895. /* [in] */ ULONG uNameCount,
  896. /* [in] */ ULONG uFlags,
  897. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  898. HRESULT ( STDMETHODCALLTYPE *PutFrom )(
  899. IUmiConnection * This,
  900. /* [in] */ LPCWSTR pszName,
  901. /* [in] */ ULONG uFlags,
  902. /* [in] */ ULONG uBufferLength,
  903. /* [in] */ LPVOID pExistingMem);
  904. HRESULT ( STDMETHODCALLTYPE *GetLastStatus )(
  905. IUmiConnection * This,
  906. /* [in] */ ULONG uFlags,
  907. /* [out] */ ULONG *puSpecificStatus,
  908. /* [in] */ REFIID riid,
  909. /* [iid_is][out] */ LPVOID *pStatusObj);
  910. HRESULT ( STDMETHODCALLTYPE *GetInterfacePropList )(
  911. IUmiConnection * This,
  912. /* [in] */ ULONG uFlags,
  913. /* [out] */ IUmiPropList **pPropList);
  914. HRESULT ( STDMETHODCALLTYPE *Open )(
  915. IUmiConnection * This,
  916. /* [in] */ IUmiURL *pURL,
  917. /* [in] */ ULONG uFlags,
  918. /* [in] */ REFIID TargetIID,
  919. /* [iid_is][out] */ void **ppvRes);
  920. END_INTERFACE
  921. } IUmiConnectionVtbl;
  922. interface IUmiConnection
  923. {
  924. CONST_VTBL struct IUmiConnectionVtbl *lpVtbl;
  925. };
  926. #ifdef COBJMACROS
  927. #define IUmiConnection_QueryInterface(This,riid,ppvObject) \
  928. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  929. #define IUmiConnection_AddRef(This) \
  930. (This)->lpVtbl -> AddRef(This)
  931. #define IUmiConnection_Release(This) \
  932. (This)->lpVtbl -> Release(This)
  933. #define IUmiConnection_Put(This,pszName,uFlags,pProp) \
  934. (This)->lpVtbl -> Put(This,pszName,uFlags,pProp)
  935. #define IUmiConnection_Get(This,pszName,uFlags,pProp) \
  936. (This)->lpVtbl -> Get(This,pszName,uFlags,pProp)
  937. #define IUmiConnection_GetAt(This,pszName,uFlags,uBufferLength,pExistingMem) \
  938. (This)->lpVtbl -> GetAt(This,pszName,uFlags,uBufferLength,pExistingMem)
  939. #define IUmiConnection_GetAs(This,pszName,uFlags,uCoercionType,pProp) \
  940. (This)->lpVtbl -> GetAs(This,pszName,uFlags,uCoercionType,pProp)
  941. #define IUmiConnection_FreeMemory(This,uReserved,pMem) \
  942. (This)->lpVtbl -> FreeMemory(This,uReserved,pMem)
  943. #define IUmiConnection_Delete(This,pszName,uFlags) \
  944. (This)->lpVtbl -> Delete(This,pszName,uFlags)
  945. #define IUmiConnection_GetProps(This,pszNames,uNameCount,uFlags,pProps) \
  946. (This)->lpVtbl -> GetProps(This,pszNames,uNameCount,uFlags,pProps)
  947. #define IUmiConnection_PutProps(This,pszNames,uNameCount,uFlags,pProps) \
  948. (This)->lpVtbl -> PutProps(This,pszNames,uNameCount,uFlags,pProps)
  949. #define IUmiConnection_PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem) \
  950. (This)->lpVtbl -> PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem)
  951. #define IUmiConnection_GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj) \
  952. (This)->lpVtbl -> GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj)
  953. #define IUmiConnection_GetInterfacePropList(This,uFlags,pPropList) \
  954. (This)->lpVtbl -> GetInterfacePropList(This,uFlags,pPropList)
  955. #define IUmiConnection_Open(This,pURL,uFlags,TargetIID,ppvRes) \
  956. (This)->lpVtbl -> Open(This,pURL,uFlags,TargetIID,ppvRes)
  957. #endif /* COBJMACROS */
  958. #endif /* C style interface */
  959. HRESULT STDMETHODCALLTYPE IUmiConnection_Open_Proxy(
  960. IUmiConnection * This,
  961. /* [in] */ IUmiURL *pURL,
  962. /* [in] */ ULONG uFlags,
  963. /* [in] */ REFIID TargetIID,
  964. /* [iid_is][out] */ void **ppvRes);
  965. void __RPC_STUB IUmiConnection_Open_Stub(
  966. IRpcStubBuffer *This,
  967. IRpcChannelBuffer *_pRpcChannelBuffer,
  968. PRPC_MESSAGE _pRpcMessage,
  969. DWORD *_pdwStubPhase);
  970. #endif /* __IUmiConnection_INTERFACE_DEFINED__ */
  971. #ifndef __IUmiContainer_INTERFACE_DEFINED__
  972. #define __IUmiContainer_INTERFACE_DEFINED__
  973. /* interface IUmiContainer */
  974. /* [uuid][local][object] */
  975. EXTERN_C const IID IID_IUmiContainer;
  976. #if defined(__cplusplus) && !defined(CINTERFACE)
  977. MIDL_INTERFACE("5ed7ee21-64a4-11d3-a0da-00105a1f515a")
  978. IUmiContainer : public IUmiObject
  979. {
  980. public:
  981. virtual HRESULT STDMETHODCALLTYPE Open(
  982. /* [in] */ IUmiURL *pURL,
  983. /* [in] */ ULONG uFlags,
  984. /* [in] */ REFIID TargetIID,
  985. /* [iid_is][out] */ void **ppvRes) = 0;
  986. virtual HRESULT STDMETHODCALLTYPE PutObject(
  987. /* [in] */ ULONG uFlags,
  988. /* [in] */ REFIID TargetIID,
  989. /* [iid_is][out][in] */ void *pObj) = 0;
  990. virtual HRESULT STDMETHODCALLTYPE DeleteObject(
  991. /* [in] */ IUmiURL *pURL,
  992. /* [optional][in] */ ULONG uFlags) = 0;
  993. virtual HRESULT STDMETHODCALLTYPE Create(
  994. /* [in] */ IUmiURL *pURL,
  995. /* [in] */ ULONG uFlags,
  996. /* [out] */ IUmiObject **pNewObj) = 0;
  997. virtual HRESULT STDMETHODCALLTYPE Move(
  998. /* [in] */ ULONG uFlags,
  999. /* [in] */ IUmiURL *pOldURL,
  1000. /* [in] */ IUmiURL *pNewURL) = 0;
  1001. virtual HRESULT STDMETHODCALLTYPE CreateEnum(
  1002. /* [in] */ IUmiURL *pszEnumContext,
  1003. /* [in] */ ULONG uFlags,
  1004. /* [in] */ REFIID TargetIID,
  1005. /* [iid_is][out] */ void **ppvEnum) = 0;
  1006. virtual HRESULT STDMETHODCALLTYPE ExecQuery(
  1007. /* [in] */ IUmiQuery *pQuery,
  1008. /* [in] */ ULONG uFlags,
  1009. /* [in] */ REFIID TargetIID,
  1010. /* [iid_is][out] */ void **ppResult) = 0;
  1011. };
  1012. #else /* C style interface */
  1013. typedef struct IUmiContainerVtbl
  1014. {
  1015. BEGIN_INTERFACE
  1016. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1017. IUmiContainer * This,
  1018. /* [in] */ REFIID riid,
  1019. /* [iid_is][out] */ void **ppvObject);
  1020. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1021. IUmiContainer * This);
  1022. ULONG ( STDMETHODCALLTYPE *Release )(
  1023. IUmiContainer * This);
  1024. HRESULT ( STDMETHODCALLTYPE *Put )(
  1025. IUmiContainer * This,
  1026. /* [in] */ LPCWSTR pszName,
  1027. /* [in] */ ULONG uFlags,
  1028. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  1029. HRESULT ( STDMETHODCALLTYPE *Get )(
  1030. IUmiContainer * This,
  1031. /* [in] */ LPCWSTR pszName,
  1032. /* [in] */ ULONG uFlags,
  1033. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  1034. HRESULT ( STDMETHODCALLTYPE *GetAt )(
  1035. IUmiContainer * This,
  1036. /* [in] */ LPCWSTR pszName,
  1037. /* [in] */ ULONG uFlags,
  1038. /* [in] */ ULONG uBufferLength,
  1039. /* [out] */ LPVOID pExistingMem);
  1040. HRESULT ( STDMETHODCALLTYPE *GetAs )(
  1041. IUmiContainer * This,
  1042. /* [in] */ LPCWSTR pszName,
  1043. /* [in] */ ULONG uFlags,
  1044. /* [in] */ ULONG uCoercionType,
  1045. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  1046. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  1047. IUmiContainer * This,
  1048. ULONG uReserved,
  1049. LPVOID pMem);
  1050. HRESULT ( STDMETHODCALLTYPE *Delete )(
  1051. IUmiContainer * This,
  1052. /* [in] */ LPCWSTR pszName,
  1053. /* [in] */ ULONG uFlags);
  1054. HRESULT ( STDMETHODCALLTYPE *GetProps )(
  1055. IUmiContainer * This,
  1056. /* [in] */ LPCWSTR *pszNames,
  1057. /* [in] */ ULONG uNameCount,
  1058. /* [in] */ ULONG uFlags,
  1059. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  1060. HRESULT ( STDMETHODCALLTYPE *PutProps )(
  1061. IUmiContainer * This,
  1062. /* [in] */ LPCWSTR *pszNames,
  1063. /* [in] */ ULONG uNameCount,
  1064. /* [in] */ ULONG uFlags,
  1065. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  1066. HRESULT ( STDMETHODCALLTYPE *PutFrom )(
  1067. IUmiContainer * This,
  1068. /* [in] */ LPCWSTR pszName,
  1069. /* [in] */ ULONG uFlags,
  1070. /* [in] */ ULONG uBufferLength,
  1071. /* [in] */ LPVOID pExistingMem);
  1072. HRESULT ( STDMETHODCALLTYPE *GetLastStatus )(
  1073. IUmiContainer * This,
  1074. /* [in] */ ULONG uFlags,
  1075. /* [out] */ ULONG *puSpecificStatus,
  1076. /* [in] */ REFIID riid,
  1077. /* [iid_is][out] */ LPVOID *pStatusObj);
  1078. HRESULT ( STDMETHODCALLTYPE *GetInterfacePropList )(
  1079. IUmiContainer * This,
  1080. /* [in] */ ULONG uFlags,
  1081. /* [out] */ IUmiPropList **pPropList);
  1082. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1083. IUmiContainer * This,
  1084. /* [in] */ ULONG uFlags,
  1085. /* [in] */ REFIID riid,
  1086. /* [iid_is][out] */ LPVOID *pCopy);
  1087. HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  1088. IUmiContainer * This,
  1089. /* [in] */ ULONG uFlags,
  1090. /* [in] */ IUmiURL *pURL,
  1091. /* [in] */ REFIID riid,
  1092. /* [iid_is][out] */ LPVOID *pCopy);
  1093. HRESULT ( STDMETHODCALLTYPE *Refresh )(
  1094. IUmiContainer * This,
  1095. /* [in] */ ULONG uFlags,
  1096. /* [in] */ ULONG uNameCount,
  1097. /* [in] */ LPWSTR *pszNames);
  1098. HRESULT ( STDMETHODCALLTYPE *Commit )(
  1099. IUmiContainer * This,
  1100. /* [in] */ ULONG uFlags);
  1101. HRESULT ( STDMETHODCALLTYPE *Open )(
  1102. IUmiContainer * This,
  1103. /* [in] */ IUmiURL *pURL,
  1104. /* [in] */ ULONG uFlags,
  1105. /* [in] */ REFIID TargetIID,
  1106. /* [iid_is][out] */ void **ppvRes);
  1107. HRESULT ( STDMETHODCALLTYPE *PutObject )(
  1108. IUmiContainer * This,
  1109. /* [in] */ ULONG uFlags,
  1110. /* [in] */ REFIID TargetIID,
  1111. /* [iid_is][out][in] */ void *pObj);
  1112. HRESULT ( STDMETHODCALLTYPE *DeleteObject )(
  1113. IUmiContainer * This,
  1114. /* [in] */ IUmiURL *pURL,
  1115. /* [optional][in] */ ULONG uFlags);
  1116. HRESULT ( STDMETHODCALLTYPE *Create )(
  1117. IUmiContainer * This,
  1118. /* [in] */ IUmiURL *pURL,
  1119. /* [in] */ ULONG uFlags,
  1120. /* [out] */ IUmiObject **pNewObj);
  1121. HRESULT ( STDMETHODCALLTYPE *Move )(
  1122. IUmiContainer * This,
  1123. /* [in] */ ULONG uFlags,
  1124. /* [in] */ IUmiURL *pOldURL,
  1125. /* [in] */ IUmiURL *pNewURL);
  1126. HRESULT ( STDMETHODCALLTYPE *CreateEnum )(
  1127. IUmiContainer * This,
  1128. /* [in] */ IUmiURL *pszEnumContext,
  1129. /* [in] */ ULONG uFlags,
  1130. /* [in] */ REFIID TargetIID,
  1131. /* [iid_is][out] */ void **ppvEnum);
  1132. HRESULT ( STDMETHODCALLTYPE *ExecQuery )(
  1133. IUmiContainer * This,
  1134. /* [in] */ IUmiQuery *pQuery,
  1135. /* [in] */ ULONG uFlags,
  1136. /* [in] */ REFIID TargetIID,
  1137. /* [iid_is][out] */ void **ppResult);
  1138. END_INTERFACE
  1139. } IUmiContainerVtbl;
  1140. interface IUmiContainer
  1141. {
  1142. CONST_VTBL struct IUmiContainerVtbl *lpVtbl;
  1143. };
  1144. #ifdef COBJMACROS
  1145. #define IUmiContainer_QueryInterface(This,riid,ppvObject) \
  1146. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1147. #define IUmiContainer_AddRef(This) \
  1148. (This)->lpVtbl -> AddRef(This)
  1149. #define IUmiContainer_Release(This) \
  1150. (This)->lpVtbl -> Release(This)
  1151. #define IUmiContainer_Put(This,pszName,uFlags,pProp) \
  1152. (This)->lpVtbl -> Put(This,pszName,uFlags,pProp)
  1153. #define IUmiContainer_Get(This,pszName,uFlags,pProp) \
  1154. (This)->lpVtbl -> Get(This,pszName,uFlags,pProp)
  1155. #define IUmiContainer_GetAt(This,pszName,uFlags,uBufferLength,pExistingMem) \
  1156. (This)->lpVtbl -> GetAt(This,pszName,uFlags,uBufferLength,pExistingMem)
  1157. #define IUmiContainer_GetAs(This,pszName,uFlags,uCoercionType,pProp) \
  1158. (This)->lpVtbl -> GetAs(This,pszName,uFlags,uCoercionType,pProp)
  1159. #define IUmiContainer_FreeMemory(This,uReserved,pMem) \
  1160. (This)->lpVtbl -> FreeMemory(This,uReserved,pMem)
  1161. #define IUmiContainer_Delete(This,pszName,uFlags) \
  1162. (This)->lpVtbl -> Delete(This,pszName,uFlags)
  1163. #define IUmiContainer_GetProps(This,pszNames,uNameCount,uFlags,pProps) \
  1164. (This)->lpVtbl -> GetProps(This,pszNames,uNameCount,uFlags,pProps)
  1165. #define IUmiContainer_PutProps(This,pszNames,uNameCount,uFlags,pProps) \
  1166. (This)->lpVtbl -> PutProps(This,pszNames,uNameCount,uFlags,pProps)
  1167. #define IUmiContainer_PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem) \
  1168. (This)->lpVtbl -> PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem)
  1169. #define IUmiContainer_GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj) \
  1170. (This)->lpVtbl -> GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj)
  1171. #define IUmiContainer_GetInterfacePropList(This,uFlags,pPropList) \
  1172. (This)->lpVtbl -> GetInterfacePropList(This,uFlags,pPropList)
  1173. #define IUmiContainer_Clone(This,uFlags,riid,pCopy) \
  1174. (This)->lpVtbl -> Clone(This,uFlags,riid,pCopy)
  1175. #define IUmiContainer_CopyTo(This,uFlags,pURL,riid,pCopy) \
  1176. (This)->lpVtbl -> CopyTo(This,uFlags,pURL,riid,pCopy)
  1177. #define IUmiContainer_Refresh(This,uFlags,uNameCount,pszNames) \
  1178. (This)->lpVtbl -> Refresh(This,uFlags,uNameCount,pszNames)
  1179. #define IUmiContainer_Commit(This,uFlags) \
  1180. (This)->lpVtbl -> Commit(This,uFlags)
  1181. #define IUmiContainer_Open(This,pURL,uFlags,TargetIID,ppvRes) \
  1182. (This)->lpVtbl -> Open(This,pURL,uFlags,TargetIID,ppvRes)
  1183. #define IUmiContainer_PutObject(This,uFlags,TargetIID,pObj) \
  1184. (This)->lpVtbl -> PutObject(This,uFlags,TargetIID,pObj)
  1185. #define IUmiContainer_DeleteObject(This,pURL,uFlags) \
  1186. (This)->lpVtbl -> DeleteObject(This,pURL,uFlags)
  1187. #define IUmiContainer_Create(This,pURL,uFlags,pNewObj) \
  1188. (This)->lpVtbl -> Create(This,pURL,uFlags,pNewObj)
  1189. #define IUmiContainer_Move(This,uFlags,pOldURL,pNewURL) \
  1190. (This)->lpVtbl -> Move(This,uFlags,pOldURL,pNewURL)
  1191. #define IUmiContainer_CreateEnum(This,pszEnumContext,uFlags,TargetIID,ppvEnum) \
  1192. (This)->lpVtbl -> CreateEnum(This,pszEnumContext,uFlags,TargetIID,ppvEnum)
  1193. #define IUmiContainer_ExecQuery(This,pQuery,uFlags,TargetIID,ppResult) \
  1194. (This)->lpVtbl -> ExecQuery(This,pQuery,uFlags,TargetIID,ppResult)
  1195. #endif /* COBJMACROS */
  1196. #endif /* C style interface */
  1197. HRESULT STDMETHODCALLTYPE IUmiContainer_Open_Proxy(
  1198. IUmiContainer * This,
  1199. /* [in] */ IUmiURL *pURL,
  1200. /* [in] */ ULONG uFlags,
  1201. /* [in] */ REFIID TargetIID,
  1202. /* [iid_is][out] */ void **ppvRes);
  1203. void __RPC_STUB IUmiContainer_Open_Stub(
  1204. IRpcStubBuffer *This,
  1205. IRpcChannelBuffer *_pRpcChannelBuffer,
  1206. PRPC_MESSAGE _pRpcMessage,
  1207. DWORD *_pdwStubPhase);
  1208. HRESULT STDMETHODCALLTYPE IUmiContainer_PutObject_Proxy(
  1209. IUmiContainer * This,
  1210. /* [in] */ ULONG uFlags,
  1211. /* [in] */ REFIID TargetIID,
  1212. /* [iid_is][out][in] */ void *pObj);
  1213. void __RPC_STUB IUmiContainer_PutObject_Stub(
  1214. IRpcStubBuffer *This,
  1215. IRpcChannelBuffer *_pRpcChannelBuffer,
  1216. PRPC_MESSAGE _pRpcMessage,
  1217. DWORD *_pdwStubPhase);
  1218. HRESULT STDMETHODCALLTYPE IUmiContainer_DeleteObject_Proxy(
  1219. IUmiContainer * This,
  1220. /* [in] */ IUmiURL *pURL,
  1221. /* [optional][in] */ ULONG uFlags);
  1222. void __RPC_STUB IUmiContainer_DeleteObject_Stub(
  1223. IRpcStubBuffer *This,
  1224. IRpcChannelBuffer *_pRpcChannelBuffer,
  1225. PRPC_MESSAGE _pRpcMessage,
  1226. DWORD *_pdwStubPhase);
  1227. HRESULT STDMETHODCALLTYPE IUmiContainer_Create_Proxy(
  1228. IUmiContainer * This,
  1229. /* [in] */ IUmiURL *pURL,
  1230. /* [in] */ ULONG uFlags,
  1231. /* [out] */ IUmiObject **pNewObj);
  1232. void __RPC_STUB IUmiContainer_Create_Stub(
  1233. IRpcStubBuffer *This,
  1234. IRpcChannelBuffer *_pRpcChannelBuffer,
  1235. PRPC_MESSAGE _pRpcMessage,
  1236. DWORD *_pdwStubPhase);
  1237. HRESULT STDMETHODCALLTYPE IUmiContainer_Move_Proxy(
  1238. IUmiContainer * This,
  1239. /* [in] */ ULONG uFlags,
  1240. /* [in] */ IUmiURL *pOldURL,
  1241. /* [in] */ IUmiURL *pNewURL);
  1242. void __RPC_STUB IUmiContainer_Move_Stub(
  1243. IRpcStubBuffer *This,
  1244. IRpcChannelBuffer *_pRpcChannelBuffer,
  1245. PRPC_MESSAGE _pRpcMessage,
  1246. DWORD *_pdwStubPhase);
  1247. HRESULT STDMETHODCALLTYPE IUmiContainer_CreateEnum_Proxy(
  1248. IUmiContainer * This,
  1249. /* [in] */ IUmiURL *pszEnumContext,
  1250. /* [in] */ ULONG uFlags,
  1251. /* [in] */ REFIID TargetIID,
  1252. /* [iid_is][out] */ void **ppvEnum);
  1253. void __RPC_STUB IUmiContainer_CreateEnum_Stub(
  1254. IRpcStubBuffer *This,
  1255. IRpcChannelBuffer *_pRpcChannelBuffer,
  1256. PRPC_MESSAGE _pRpcMessage,
  1257. DWORD *_pdwStubPhase);
  1258. HRESULT STDMETHODCALLTYPE IUmiContainer_ExecQuery_Proxy(
  1259. IUmiContainer * This,
  1260. /* [in] */ IUmiQuery *pQuery,
  1261. /* [in] */ ULONG uFlags,
  1262. /* [in] */ REFIID TargetIID,
  1263. /* [iid_is][out] */ void **ppResult);
  1264. void __RPC_STUB IUmiContainer_ExecQuery_Stub(
  1265. IRpcStubBuffer *This,
  1266. IRpcChannelBuffer *_pRpcChannelBuffer,
  1267. PRPC_MESSAGE _pRpcMessage,
  1268. DWORD *_pdwStubPhase);
  1269. #endif /* __IUmiContainer_INTERFACE_DEFINED__ */
  1270. #ifndef __IUmiCursor_INTERFACE_DEFINED__
  1271. #define __IUmiCursor_INTERFACE_DEFINED__
  1272. /* interface IUmiCursor */
  1273. /* [uuid][local][object] */
  1274. EXTERN_C const IID IID_IUmiCursor;
  1275. #if defined(__cplusplus) && !defined(CINTERFACE)
  1276. MIDL_INTERFACE("5ed7ee26-64a4-11d3-a0da-00105a1f515a")
  1277. IUmiCursor : public IUmiBaseObject
  1278. {
  1279. public:
  1280. virtual HRESULT STDMETHODCALLTYPE SetIID(
  1281. /* [in] */ REFIID riid) = 0;
  1282. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1283. virtual HRESULT STDMETHODCALLTYPE Next(
  1284. /* [in] */ ULONG uNumRequested,
  1285. /* [out] */ ULONG *puNumReturned,
  1286. /* [length_is][size_is][out] */ LPVOID *pObjects) = 0;
  1287. virtual HRESULT STDMETHODCALLTYPE Count(
  1288. /* [out] */ ULONG *puNumObjects) = 0;
  1289. virtual HRESULT STDMETHODCALLTYPE Previous(
  1290. /* [in] */ ULONG uFlags,
  1291. /* [out] */ LPVOID *pObj) = 0;
  1292. };
  1293. #else /* C style interface */
  1294. typedef struct IUmiCursorVtbl
  1295. {
  1296. BEGIN_INTERFACE
  1297. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1298. IUmiCursor * This,
  1299. /* [in] */ REFIID riid,
  1300. /* [iid_is][out] */ void **ppvObject);
  1301. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1302. IUmiCursor * This);
  1303. ULONG ( STDMETHODCALLTYPE *Release )(
  1304. IUmiCursor * This);
  1305. HRESULT ( STDMETHODCALLTYPE *Put )(
  1306. IUmiCursor * This,
  1307. /* [in] */ LPCWSTR pszName,
  1308. /* [in] */ ULONG uFlags,
  1309. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  1310. HRESULT ( STDMETHODCALLTYPE *Get )(
  1311. IUmiCursor * This,
  1312. /* [in] */ LPCWSTR pszName,
  1313. /* [in] */ ULONG uFlags,
  1314. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  1315. HRESULT ( STDMETHODCALLTYPE *GetAt )(
  1316. IUmiCursor * This,
  1317. /* [in] */ LPCWSTR pszName,
  1318. /* [in] */ ULONG uFlags,
  1319. /* [in] */ ULONG uBufferLength,
  1320. /* [out] */ LPVOID pExistingMem);
  1321. HRESULT ( STDMETHODCALLTYPE *GetAs )(
  1322. IUmiCursor * This,
  1323. /* [in] */ LPCWSTR pszName,
  1324. /* [in] */ ULONG uFlags,
  1325. /* [in] */ ULONG uCoercionType,
  1326. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  1327. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  1328. IUmiCursor * This,
  1329. ULONG uReserved,
  1330. LPVOID pMem);
  1331. HRESULT ( STDMETHODCALLTYPE *Delete )(
  1332. IUmiCursor * This,
  1333. /* [in] */ LPCWSTR pszName,
  1334. /* [in] */ ULONG uFlags);
  1335. HRESULT ( STDMETHODCALLTYPE *GetProps )(
  1336. IUmiCursor * This,
  1337. /* [in] */ LPCWSTR *pszNames,
  1338. /* [in] */ ULONG uNameCount,
  1339. /* [in] */ ULONG uFlags,
  1340. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  1341. HRESULT ( STDMETHODCALLTYPE *PutProps )(
  1342. IUmiCursor * This,
  1343. /* [in] */ LPCWSTR *pszNames,
  1344. /* [in] */ ULONG uNameCount,
  1345. /* [in] */ ULONG uFlags,
  1346. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  1347. HRESULT ( STDMETHODCALLTYPE *PutFrom )(
  1348. IUmiCursor * This,
  1349. /* [in] */ LPCWSTR pszName,
  1350. /* [in] */ ULONG uFlags,
  1351. /* [in] */ ULONG uBufferLength,
  1352. /* [in] */ LPVOID pExistingMem);
  1353. HRESULT ( STDMETHODCALLTYPE *GetLastStatus )(
  1354. IUmiCursor * This,
  1355. /* [in] */ ULONG uFlags,
  1356. /* [out] */ ULONG *puSpecificStatus,
  1357. /* [in] */ REFIID riid,
  1358. /* [iid_is][out] */ LPVOID *pStatusObj);
  1359. HRESULT ( STDMETHODCALLTYPE *GetInterfacePropList )(
  1360. IUmiCursor * This,
  1361. /* [in] */ ULONG uFlags,
  1362. /* [out] */ IUmiPropList **pPropList);
  1363. HRESULT ( STDMETHODCALLTYPE *SetIID )(
  1364. IUmiCursor * This,
  1365. /* [in] */ REFIID riid);
  1366. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1367. IUmiCursor * This);
  1368. HRESULT ( STDMETHODCALLTYPE *Next )(
  1369. IUmiCursor * This,
  1370. /* [in] */ ULONG uNumRequested,
  1371. /* [out] */ ULONG *puNumReturned,
  1372. /* [length_is][size_is][out] */ LPVOID *pObjects);
  1373. HRESULT ( STDMETHODCALLTYPE *Count )(
  1374. IUmiCursor * This,
  1375. /* [out] */ ULONG *puNumObjects);
  1376. HRESULT ( STDMETHODCALLTYPE *Previous )(
  1377. IUmiCursor * This,
  1378. /* [in] */ ULONG uFlags,
  1379. /* [out] */ LPVOID *pObj);
  1380. END_INTERFACE
  1381. } IUmiCursorVtbl;
  1382. interface IUmiCursor
  1383. {
  1384. CONST_VTBL struct IUmiCursorVtbl *lpVtbl;
  1385. };
  1386. #ifdef COBJMACROS
  1387. #define IUmiCursor_QueryInterface(This,riid,ppvObject) \
  1388. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1389. #define IUmiCursor_AddRef(This) \
  1390. (This)->lpVtbl -> AddRef(This)
  1391. #define IUmiCursor_Release(This) \
  1392. (This)->lpVtbl -> Release(This)
  1393. #define IUmiCursor_Put(This,pszName,uFlags,pProp) \
  1394. (This)->lpVtbl -> Put(This,pszName,uFlags,pProp)
  1395. #define IUmiCursor_Get(This,pszName,uFlags,pProp) \
  1396. (This)->lpVtbl -> Get(This,pszName,uFlags,pProp)
  1397. #define IUmiCursor_GetAt(This,pszName,uFlags,uBufferLength,pExistingMem) \
  1398. (This)->lpVtbl -> GetAt(This,pszName,uFlags,uBufferLength,pExistingMem)
  1399. #define IUmiCursor_GetAs(This,pszName,uFlags,uCoercionType,pProp) \
  1400. (This)->lpVtbl -> GetAs(This,pszName,uFlags,uCoercionType,pProp)
  1401. #define IUmiCursor_FreeMemory(This,uReserved,pMem) \
  1402. (This)->lpVtbl -> FreeMemory(This,uReserved,pMem)
  1403. #define IUmiCursor_Delete(This,pszName,uFlags) \
  1404. (This)->lpVtbl -> Delete(This,pszName,uFlags)
  1405. #define IUmiCursor_GetProps(This,pszNames,uNameCount,uFlags,pProps) \
  1406. (This)->lpVtbl -> GetProps(This,pszNames,uNameCount,uFlags,pProps)
  1407. #define IUmiCursor_PutProps(This,pszNames,uNameCount,uFlags,pProps) \
  1408. (This)->lpVtbl -> PutProps(This,pszNames,uNameCount,uFlags,pProps)
  1409. #define IUmiCursor_PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem) \
  1410. (This)->lpVtbl -> PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem)
  1411. #define IUmiCursor_GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj) \
  1412. (This)->lpVtbl -> GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj)
  1413. #define IUmiCursor_GetInterfacePropList(This,uFlags,pPropList) \
  1414. (This)->lpVtbl -> GetInterfacePropList(This,uFlags,pPropList)
  1415. #define IUmiCursor_SetIID(This,riid) \
  1416. (This)->lpVtbl -> SetIID(This,riid)
  1417. #define IUmiCursor_Reset(This) \
  1418. (This)->lpVtbl -> Reset(This)
  1419. #define IUmiCursor_Next(This,uNumRequested,puNumReturned,pObjects) \
  1420. (This)->lpVtbl -> Next(This,uNumRequested,puNumReturned,pObjects)
  1421. #define IUmiCursor_Count(This,puNumObjects) \
  1422. (This)->lpVtbl -> Count(This,puNumObjects)
  1423. #define IUmiCursor_Previous(This,uFlags,pObj) \
  1424. (This)->lpVtbl -> Previous(This,uFlags,pObj)
  1425. #endif /* COBJMACROS */
  1426. #endif /* C style interface */
  1427. HRESULT STDMETHODCALLTYPE IUmiCursor_SetIID_Proxy(
  1428. IUmiCursor * This,
  1429. /* [in] */ REFIID riid);
  1430. void __RPC_STUB IUmiCursor_SetIID_Stub(
  1431. IRpcStubBuffer *This,
  1432. IRpcChannelBuffer *_pRpcChannelBuffer,
  1433. PRPC_MESSAGE _pRpcMessage,
  1434. DWORD *_pdwStubPhase);
  1435. HRESULT STDMETHODCALLTYPE IUmiCursor_Reset_Proxy(
  1436. IUmiCursor * This);
  1437. void __RPC_STUB IUmiCursor_Reset_Stub(
  1438. IRpcStubBuffer *This,
  1439. IRpcChannelBuffer *_pRpcChannelBuffer,
  1440. PRPC_MESSAGE _pRpcMessage,
  1441. DWORD *_pdwStubPhase);
  1442. HRESULT STDMETHODCALLTYPE IUmiCursor_Next_Proxy(
  1443. IUmiCursor * This,
  1444. /* [in] */ ULONG uNumRequested,
  1445. /* [out] */ ULONG *puNumReturned,
  1446. /* [length_is][size_is][out] */ LPVOID *pObjects);
  1447. void __RPC_STUB IUmiCursor_Next_Stub(
  1448. IRpcStubBuffer *This,
  1449. IRpcChannelBuffer *_pRpcChannelBuffer,
  1450. PRPC_MESSAGE _pRpcMessage,
  1451. DWORD *_pdwStubPhase);
  1452. HRESULT STDMETHODCALLTYPE IUmiCursor_Count_Proxy(
  1453. IUmiCursor * This,
  1454. /* [out] */ ULONG *puNumObjects);
  1455. void __RPC_STUB IUmiCursor_Count_Stub(
  1456. IRpcStubBuffer *This,
  1457. IRpcChannelBuffer *_pRpcChannelBuffer,
  1458. PRPC_MESSAGE _pRpcMessage,
  1459. DWORD *_pdwStubPhase);
  1460. HRESULT STDMETHODCALLTYPE IUmiCursor_Previous_Proxy(
  1461. IUmiCursor * This,
  1462. /* [in] */ ULONG uFlags,
  1463. /* [out] */ LPVOID *pObj);
  1464. void __RPC_STUB IUmiCursor_Previous_Stub(
  1465. IRpcStubBuffer *This,
  1466. IRpcChannelBuffer *_pRpcChannelBuffer,
  1467. PRPC_MESSAGE _pRpcMessage,
  1468. DWORD *_pdwStubPhase);
  1469. #endif /* __IUmiCursor_INTERFACE_DEFINED__ */
  1470. #ifndef __IUmiObjectSink_INTERFACE_DEFINED__
  1471. #define __IUmiObjectSink_INTERFACE_DEFINED__
  1472. /* interface IUmiObjectSink */
  1473. /* [uuid][local][object] */
  1474. EXTERN_C const IID IID_IUmiObjectSink;
  1475. #if defined(__cplusplus) && !defined(CINTERFACE)
  1476. MIDL_INTERFACE("5ed7ee24-64a4-11d3-a0da-00105a1f515a")
  1477. IUmiObjectSink : public IUnknown
  1478. {
  1479. public:
  1480. virtual HRESULT STDMETHODCALLTYPE Put(
  1481. /* [in] */ LONG lNumObjects,
  1482. /* [size_is][in] */ IUmiObject **ppObjects) = 0;
  1483. virtual HRESULT STDMETHODCALLTYPE SetResult(
  1484. /* [in] */ HRESULT hResStatus,
  1485. /* [in] */ ULONG uFlags,
  1486. /* [in] */ IUnknown *pObject) = 0;
  1487. };
  1488. #else /* C style interface */
  1489. typedef struct IUmiObjectSinkVtbl
  1490. {
  1491. BEGIN_INTERFACE
  1492. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1493. IUmiObjectSink * This,
  1494. /* [in] */ REFIID riid,
  1495. /* [iid_is][out] */ void **ppvObject);
  1496. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1497. IUmiObjectSink * This);
  1498. ULONG ( STDMETHODCALLTYPE *Release )(
  1499. IUmiObjectSink * This);
  1500. HRESULT ( STDMETHODCALLTYPE *Put )(
  1501. IUmiObjectSink * This,
  1502. /* [in] */ LONG lNumObjects,
  1503. /* [size_is][in] */ IUmiObject **ppObjects);
  1504. HRESULT ( STDMETHODCALLTYPE *SetResult )(
  1505. IUmiObjectSink * This,
  1506. /* [in] */ HRESULT hResStatus,
  1507. /* [in] */ ULONG uFlags,
  1508. /* [in] */ IUnknown *pObject);
  1509. END_INTERFACE
  1510. } IUmiObjectSinkVtbl;
  1511. interface IUmiObjectSink
  1512. {
  1513. CONST_VTBL struct IUmiObjectSinkVtbl *lpVtbl;
  1514. };
  1515. #ifdef COBJMACROS
  1516. #define IUmiObjectSink_QueryInterface(This,riid,ppvObject) \
  1517. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1518. #define IUmiObjectSink_AddRef(This) \
  1519. (This)->lpVtbl -> AddRef(This)
  1520. #define IUmiObjectSink_Release(This) \
  1521. (This)->lpVtbl -> Release(This)
  1522. #define IUmiObjectSink_Put(This,lNumObjects,ppObjects) \
  1523. (This)->lpVtbl -> Put(This,lNumObjects,ppObjects)
  1524. #define IUmiObjectSink_SetResult(This,hResStatus,uFlags,pObject) \
  1525. (This)->lpVtbl -> SetResult(This,hResStatus,uFlags,pObject)
  1526. #endif /* COBJMACROS */
  1527. #endif /* C style interface */
  1528. HRESULT STDMETHODCALLTYPE IUmiObjectSink_Put_Proxy(
  1529. IUmiObjectSink * This,
  1530. /* [in] */ LONG lNumObjects,
  1531. /* [size_is][in] */ IUmiObject **ppObjects);
  1532. void __RPC_STUB IUmiObjectSink_Put_Stub(
  1533. IRpcStubBuffer *This,
  1534. IRpcChannelBuffer *_pRpcChannelBuffer,
  1535. PRPC_MESSAGE _pRpcMessage,
  1536. DWORD *_pdwStubPhase);
  1537. HRESULT STDMETHODCALLTYPE IUmiObjectSink_SetResult_Proxy(
  1538. IUmiObjectSink * This,
  1539. /* [in] */ HRESULT hResStatus,
  1540. /* [in] */ ULONG uFlags,
  1541. /* [in] */ IUnknown *pObject);
  1542. void __RPC_STUB IUmiObjectSink_SetResult_Stub(
  1543. IRpcStubBuffer *This,
  1544. IRpcChannelBuffer *_pRpcChannelBuffer,
  1545. PRPC_MESSAGE _pRpcMessage,
  1546. DWORD *_pdwStubPhase);
  1547. #endif /* __IUmiObjectSink_INTERFACE_DEFINED__ */
  1548. #ifndef __IUmiURLKeyList_INTERFACE_DEFINED__
  1549. #define __IUmiURLKeyList_INTERFACE_DEFINED__
  1550. /* interface IUmiURLKeyList */
  1551. /* [uuid][object][local] */
  1552. EXTERN_C const IID IID_IUmiURLKeyList;
  1553. #if defined(__cplusplus) && !defined(CINTERFACE)
  1554. MIDL_INTERFACE("cf779c98-4739-4fd4-a415-da937a599f2f")
  1555. IUmiURLKeyList : public IUnknown
  1556. {
  1557. public:
  1558. virtual HRESULT STDMETHODCALLTYPE GetCount(
  1559. /* [out] */ ULONG *puKeyCount) = 0;
  1560. virtual HRESULT STDMETHODCALLTYPE SetKey(
  1561. /* [string][in] */ LPCWSTR pszName,
  1562. /* [string][in] */ LPCWSTR pszValue) = 0;
  1563. virtual HRESULT STDMETHODCALLTYPE GetKey(
  1564. /* [in] */ ULONG uKeyIx,
  1565. /* [in] */ ULONG uFlags,
  1566. /* [out][in] */ ULONG *puKeyNameBufSize,
  1567. /* [in] */ LPWSTR pszKeyName,
  1568. /* [out][in] */ ULONG *puValueBufSize,
  1569. /* [in] */ LPWSTR pszValue) = 0;
  1570. virtual HRESULT STDMETHODCALLTYPE RemoveKey(
  1571. /* [string][in] */ LPCWSTR pszName,
  1572. /* [in] */ ULONG uFlags) = 0;
  1573. virtual HRESULT STDMETHODCALLTYPE RemoveAllKeys(
  1574. /* [in] */ ULONG uFlags) = 0;
  1575. virtual HRESULT STDMETHODCALLTYPE GetKeysInfo(
  1576. /* [in] */ ULONG uRequestedInfo,
  1577. /* [out] */ ULONGLONG *puResponse) = 0;
  1578. };
  1579. #else /* C style interface */
  1580. typedef struct IUmiURLKeyListVtbl
  1581. {
  1582. BEGIN_INTERFACE
  1583. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1584. IUmiURLKeyList * This,
  1585. /* [in] */ REFIID riid,
  1586. /* [iid_is][out] */ void **ppvObject);
  1587. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1588. IUmiURLKeyList * This);
  1589. ULONG ( STDMETHODCALLTYPE *Release )(
  1590. IUmiURLKeyList * This);
  1591. HRESULT ( STDMETHODCALLTYPE *GetCount )(
  1592. IUmiURLKeyList * This,
  1593. /* [out] */ ULONG *puKeyCount);
  1594. HRESULT ( STDMETHODCALLTYPE *SetKey )(
  1595. IUmiURLKeyList * This,
  1596. /* [string][in] */ LPCWSTR pszName,
  1597. /* [string][in] */ LPCWSTR pszValue);
  1598. HRESULT ( STDMETHODCALLTYPE *GetKey )(
  1599. IUmiURLKeyList * This,
  1600. /* [in] */ ULONG uKeyIx,
  1601. /* [in] */ ULONG uFlags,
  1602. /* [out][in] */ ULONG *puKeyNameBufSize,
  1603. /* [in] */ LPWSTR pszKeyName,
  1604. /* [out][in] */ ULONG *puValueBufSize,
  1605. /* [in] */ LPWSTR pszValue);
  1606. HRESULT ( STDMETHODCALLTYPE *RemoveKey )(
  1607. IUmiURLKeyList * This,
  1608. /* [string][in] */ LPCWSTR pszName,
  1609. /* [in] */ ULONG uFlags);
  1610. HRESULT ( STDMETHODCALLTYPE *RemoveAllKeys )(
  1611. IUmiURLKeyList * This,
  1612. /* [in] */ ULONG uFlags);
  1613. HRESULT ( STDMETHODCALLTYPE *GetKeysInfo )(
  1614. IUmiURLKeyList * This,
  1615. /* [in] */ ULONG uRequestedInfo,
  1616. /* [out] */ ULONGLONG *puResponse);
  1617. END_INTERFACE
  1618. } IUmiURLKeyListVtbl;
  1619. interface IUmiURLKeyList
  1620. {
  1621. CONST_VTBL struct IUmiURLKeyListVtbl *lpVtbl;
  1622. };
  1623. #ifdef COBJMACROS
  1624. #define IUmiURLKeyList_QueryInterface(This,riid,ppvObject) \
  1625. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1626. #define IUmiURLKeyList_AddRef(This) \
  1627. (This)->lpVtbl -> AddRef(This)
  1628. #define IUmiURLKeyList_Release(This) \
  1629. (This)->lpVtbl -> Release(This)
  1630. #define IUmiURLKeyList_GetCount(This,puKeyCount) \
  1631. (This)->lpVtbl -> GetCount(This,puKeyCount)
  1632. #define IUmiURLKeyList_SetKey(This,pszName,pszValue) \
  1633. (This)->lpVtbl -> SetKey(This,pszName,pszValue)
  1634. #define IUmiURLKeyList_GetKey(This,uKeyIx,uFlags,puKeyNameBufSize,pszKeyName,puValueBufSize,pszValue) \
  1635. (This)->lpVtbl -> GetKey(This,uKeyIx,uFlags,puKeyNameBufSize,pszKeyName,puValueBufSize,pszValue)
  1636. #define IUmiURLKeyList_RemoveKey(This,pszName,uFlags) \
  1637. (This)->lpVtbl -> RemoveKey(This,pszName,uFlags)
  1638. #define IUmiURLKeyList_RemoveAllKeys(This,uFlags) \
  1639. (This)->lpVtbl -> RemoveAllKeys(This,uFlags)
  1640. #define IUmiURLKeyList_GetKeysInfo(This,uRequestedInfo,puResponse) \
  1641. (This)->lpVtbl -> GetKeysInfo(This,uRequestedInfo,puResponse)
  1642. #endif /* COBJMACROS */
  1643. #endif /* C style interface */
  1644. HRESULT STDMETHODCALLTYPE IUmiURLKeyList_GetCount_Proxy(
  1645. IUmiURLKeyList * This,
  1646. /* [out] */ ULONG *puKeyCount);
  1647. void __RPC_STUB IUmiURLKeyList_GetCount_Stub(
  1648. IRpcStubBuffer *This,
  1649. IRpcChannelBuffer *_pRpcChannelBuffer,
  1650. PRPC_MESSAGE _pRpcMessage,
  1651. DWORD *_pdwStubPhase);
  1652. HRESULT STDMETHODCALLTYPE IUmiURLKeyList_SetKey_Proxy(
  1653. IUmiURLKeyList * This,
  1654. /* [string][in] */ LPCWSTR pszName,
  1655. /* [string][in] */ LPCWSTR pszValue);
  1656. void __RPC_STUB IUmiURLKeyList_SetKey_Stub(
  1657. IRpcStubBuffer *This,
  1658. IRpcChannelBuffer *_pRpcChannelBuffer,
  1659. PRPC_MESSAGE _pRpcMessage,
  1660. DWORD *_pdwStubPhase);
  1661. HRESULT STDMETHODCALLTYPE IUmiURLKeyList_GetKey_Proxy(
  1662. IUmiURLKeyList * This,
  1663. /* [in] */ ULONG uKeyIx,
  1664. /* [in] */ ULONG uFlags,
  1665. /* [out][in] */ ULONG *puKeyNameBufSize,
  1666. /* [in] */ LPWSTR pszKeyName,
  1667. /* [out][in] */ ULONG *puValueBufSize,
  1668. /* [in] */ LPWSTR pszValue);
  1669. void __RPC_STUB IUmiURLKeyList_GetKey_Stub(
  1670. IRpcStubBuffer *This,
  1671. IRpcChannelBuffer *_pRpcChannelBuffer,
  1672. PRPC_MESSAGE _pRpcMessage,
  1673. DWORD *_pdwStubPhase);
  1674. HRESULT STDMETHODCALLTYPE IUmiURLKeyList_RemoveKey_Proxy(
  1675. IUmiURLKeyList * This,
  1676. /* [string][in] */ LPCWSTR pszName,
  1677. /* [in] */ ULONG uFlags);
  1678. void __RPC_STUB IUmiURLKeyList_RemoveKey_Stub(
  1679. IRpcStubBuffer *This,
  1680. IRpcChannelBuffer *_pRpcChannelBuffer,
  1681. PRPC_MESSAGE _pRpcMessage,
  1682. DWORD *_pdwStubPhase);
  1683. HRESULT STDMETHODCALLTYPE IUmiURLKeyList_RemoveAllKeys_Proxy(
  1684. IUmiURLKeyList * This,
  1685. /* [in] */ ULONG uFlags);
  1686. void __RPC_STUB IUmiURLKeyList_RemoveAllKeys_Stub(
  1687. IRpcStubBuffer *This,
  1688. IRpcChannelBuffer *_pRpcChannelBuffer,
  1689. PRPC_MESSAGE _pRpcMessage,
  1690. DWORD *_pdwStubPhase);
  1691. HRESULT STDMETHODCALLTYPE IUmiURLKeyList_GetKeysInfo_Proxy(
  1692. IUmiURLKeyList * This,
  1693. /* [in] */ ULONG uRequestedInfo,
  1694. /* [out] */ ULONGLONG *puResponse);
  1695. void __RPC_STUB IUmiURLKeyList_GetKeysInfo_Stub(
  1696. IRpcStubBuffer *This,
  1697. IRpcChannelBuffer *_pRpcChannelBuffer,
  1698. PRPC_MESSAGE _pRpcMessage,
  1699. DWORD *_pdwStubPhase);
  1700. #endif /* __IUmiURLKeyList_INTERFACE_DEFINED__ */
  1701. #ifndef __IUmiURL_INTERFACE_DEFINED__
  1702. #define __IUmiURL_INTERFACE_DEFINED__
  1703. /* interface IUmiURL */
  1704. /* [uuid][local][object] */
  1705. EXTERN_C const IID IID_IUmiURL;
  1706. #if defined(__cplusplus) && !defined(CINTERFACE)
  1707. MIDL_INTERFACE("12575a7d-d9db-11d3-a11f-00105a1f515a")
  1708. IUmiURL : public IUnknown
  1709. {
  1710. public:
  1711. virtual HRESULT STDMETHODCALLTYPE Set(
  1712. /* [in] */ long lFlags,
  1713. /* [in] */ LPCWSTR pszText) = 0;
  1714. virtual HRESULT STDMETHODCALLTYPE Get(
  1715. /* [in] */ long lFlags,
  1716. /* [out][in] */ ULONG *puBufSize,
  1717. /* [string][in] */ LPWSTR pszDest) = 0;
  1718. virtual HRESULT STDMETHODCALLTYPE GetPathInfo(
  1719. /* [in] */ ULONG uRequestedInfo,
  1720. /* [out] */ ULONGLONG *puResponse) = 0;
  1721. virtual HRESULT STDMETHODCALLTYPE SetLocator(
  1722. /* [string][in] */ LPCWSTR Name) = 0;
  1723. virtual HRESULT STDMETHODCALLTYPE GetLocator(
  1724. /* [out][in] */ ULONG *puNameBufLength,
  1725. /* [string][in] */ LPWSTR pName) = 0;
  1726. virtual HRESULT STDMETHODCALLTYPE SetRootNamespace(
  1727. /* [string][in] */ LPCWSTR Name) = 0;
  1728. virtual HRESULT STDMETHODCALLTYPE GetRootNamespace(
  1729. /* [out][in] */ ULONG *puNameBufLength,
  1730. /* [string][out][in] */ LPWSTR pName) = 0;
  1731. virtual HRESULT STDMETHODCALLTYPE GetComponentCount(
  1732. /* [out] */ ULONG *puCount) = 0;
  1733. virtual HRESULT STDMETHODCALLTYPE SetComponent(
  1734. /* [in] */ ULONG uIndex,
  1735. /* [in] */ LPWSTR pszClass) = 0;
  1736. virtual HRESULT STDMETHODCALLTYPE SetComponentFromText(
  1737. /* [in] */ ULONG uIndex,
  1738. /* [in] */ LPWSTR pszText) = 0;
  1739. virtual HRESULT STDMETHODCALLTYPE GetComponent(
  1740. /* [in] */ ULONG uIndex,
  1741. /* [out][in] */ ULONG *puClassNameBufSize,
  1742. /* [out][in] */ LPWSTR pszClass,
  1743. /* [out] */ IUmiURLKeyList **pKeyList) = 0;
  1744. virtual HRESULT STDMETHODCALLTYPE GetComponentAsText(
  1745. /* [in] */ ULONG uIndex,
  1746. /* [out][in] */ ULONG *puTextBufSize,
  1747. /* [out][in] */ LPWSTR pszText) = 0;
  1748. virtual HRESULT STDMETHODCALLTYPE RemoveComponent(
  1749. /* [in] */ ULONG uIndex) = 0;
  1750. virtual HRESULT STDMETHODCALLTYPE RemoveAllComponents( void) = 0;
  1751. virtual HRESULT STDMETHODCALLTYPE SetLeafName(
  1752. /* [string][in] */ LPCWSTR Name) = 0;
  1753. virtual HRESULT STDMETHODCALLTYPE GetLeafName(
  1754. /* [out][in] */ ULONG *puBuffLength,
  1755. /* [string][out][in] */ LPWSTR pszName) = 0;
  1756. virtual HRESULT STDMETHODCALLTYPE GetKeyList(
  1757. /* [out] */ IUmiURLKeyList **pOut) = 0;
  1758. virtual HRESULT STDMETHODCALLTYPE CreateLeafPart(
  1759. /* [in] */ long lFlags,
  1760. /* [string][in] */ LPCWSTR Name) = 0;
  1761. virtual HRESULT STDMETHODCALLTYPE DeleteLeafPart(
  1762. /* [in] */ long lFlags) = 0;
  1763. };
  1764. #else /* C style interface */
  1765. typedef struct IUmiURLVtbl
  1766. {
  1767. BEGIN_INTERFACE
  1768. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1769. IUmiURL * This,
  1770. /* [in] */ REFIID riid,
  1771. /* [iid_is][out] */ void **ppvObject);
  1772. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1773. IUmiURL * This);
  1774. ULONG ( STDMETHODCALLTYPE *Release )(
  1775. IUmiURL * This);
  1776. HRESULT ( STDMETHODCALLTYPE *Set )(
  1777. IUmiURL * This,
  1778. /* [in] */ long lFlags,
  1779. /* [in] */ LPCWSTR pszText);
  1780. HRESULT ( STDMETHODCALLTYPE *Get )(
  1781. IUmiURL * This,
  1782. /* [in] */ long lFlags,
  1783. /* [out][in] */ ULONG *puBufSize,
  1784. /* [string][in] */ LPWSTR pszDest);
  1785. HRESULT ( STDMETHODCALLTYPE *GetPathInfo )(
  1786. IUmiURL * This,
  1787. /* [in] */ ULONG uRequestedInfo,
  1788. /* [out] */ ULONGLONG *puResponse);
  1789. HRESULT ( STDMETHODCALLTYPE *SetLocator )(
  1790. IUmiURL * This,
  1791. /* [string][in] */ LPCWSTR Name);
  1792. HRESULT ( STDMETHODCALLTYPE *GetLocator )(
  1793. IUmiURL * This,
  1794. /* [out][in] */ ULONG *puNameBufLength,
  1795. /* [string][in] */ LPWSTR pName);
  1796. HRESULT ( STDMETHODCALLTYPE *SetRootNamespace )(
  1797. IUmiURL * This,
  1798. /* [string][in] */ LPCWSTR Name);
  1799. HRESULT ( STDMETHODCALLTYPE *GetRootNamespace )(
  1800. IUmiURL * This,
  1801. /* [out][in] */ ULONG *puNameBufLength,
  1802. /* [string][out][in] */ LPWSTR pName);
  1803. HRESULT ( STDMETHODCALLTYPE *GetComponentCount )(
  1804. IUmiURL * This,
  1805. /* [out] */ ULONG *puCount);
  1806. HRESULT ( STDMETHODCALLTYPE *SetComponent )(
  1807. IUmiURL * This,
  1808. /* [in] */ ULONG uIndex,
  1809. /* [in] */ LPWSTR pszClass);
  1810. HRESULT ( STDMETHODCALLTYPE *SetComponentFromText )(
  1811. IUmiURL * This,
  1812. /* [in] */ ULONG uIndex,
  1813. /* [in] */ LPWSTR pszText);
  1814. HRESULT ( STDMETHODCALLTYPE *GetComponent )(
  1815. IUmiURL * This,
  1816. /* [in] */ ULONG uIndex,
  1817. /* [out][in] */ ULONG *puClassNameBufSize,
  1818. /* [out][in] */ LPWSTR pszClass,
  1819. /* [out] */ IUmiURLKeyList **pKeyList);
  1820. HRESULT ( STDMETHODCALLTYPE *GetComponentAsText )(
  1821. IUmiURL * This,
  1822. /* [in] */ ULONG uIndex,
  1823. /* [out][in] */ ULONG *puTextBufSize,
  1824. /* [out][in] */ LPWSTR pszText);
  1825. HRESULT ( STDMETHODCALLTYPE *RemoveComponent )(
  1826. IUmiURL * This,
  1827. /* [in] */ ULONG uIndex);
  1828. HRESULT ( STDMETHODCALLTYPE *RemoveAllComponents )(
  1829. IUmiURL * This);
  1830. HRESULT ( STDMETHODCALLTYPE *SetLeafName )(
  1831. IUmiURL * This,
  1832. /* [string][in] */ LPCWSTR Name);
  1833. HRESULT ( STDMETHODCALLTYPE *GetLeafName )(
  1834. IUmiURL * This,
  1835. /* [out][in] */ ULONG *puBuffLength,
  1836. /* [string][out][in] */ LPWSTR pszName);
  1837. HRESULT ( STDMETHODCALLTYPE *GetKeyList )(
  1838. IUmiURL * This,
  1839. /* [out] */ IUmiURLKeyList **pOut);
  1840. HRESULT ( STDMETHODCALLTYPE *CreateLeafPart )(
  1841. IUmiURL * This,
  1842. /* [in] */ long lFlags,
  1843. /* [string][in] */ LPCWSTR Name);
  1844. HRESULT ( STDMETHODCALLTYPE *DeleteLeafPart )(
  1845. IUmiURL * This,
  1846. /* [in] */ long lFlags);
  1847. END_INTERFACE
  1848. } IUmiURLVtbl;
  1849. interface IUmiURL
  1850. {
  1851. CONST_VTBL struct IUmiURLVtbl *lpVtbl;
  1852. };
  1853. #ifdef COBJMACROS
  1854. #define IUmiURL_QueryInterface(This,riid,ppvObject) \
  1855. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1856. #define IUmiURL_AddRef(This) \
  1857. (This)->lpVtbl -> AddRef(This)
  1858. #define IUmiURL_Release(This) \
  1859. (This)->lpVtbl -> Release(This)
  1860. #define IUmiURL_Set(This,lFlags,pszText) \
  1861. (This)->lpVtbl -> Set(This,lFlags,pszText)
  1862. #define IUmiURL_Get(This,lFlags,puBufSize,pszDest) \
  1863. (This)->lpVtbl -> Get(This,lFlags,puBufSize,pszDest)
  1864. #define IUmiURL_GetPathInfo(This,uRequestedInfo,puResponse) \
  1865. (This)->lpVtbl -> GetPathInfo(This,uRequestedInfo,puResponse)
  1866. #define IUmiURL_SetLocator(This,Name) \
  1867. (This)->lpVtbl -> SetLocator(This,Name)
  1868. #define IUmiURL_GetLocator(This,puNameBufLength,pName) \
  1869. (This)->lpVtbl -> GetLocator(This,puNameBufLength,pName)
  1870. #define IUmiURL_SetRootNamespace(This,Name) \
  1871. (This)->lpVtbl -> SetRootNamespace(This,Name)
  1872. #define IUmiURL_GetRootNamespace(This,puNameBufLength,pName) \
  1873. (This)->lpVtbl -> GetRootNamespace(This,puNameBufLength,pName)
  1874. #define IUmiURL_GetComponentCount(This,puCount) \
  1875. (This)->lpVtbl -> GetComponentCount(This,puCount)
  1876. #define IUmiURL_SetComponent(This,uIndex,pszClass) \
  1877. (This)->lpVtbl -> SetComponent(This,uIndex,pszClass)
  1878. #define IUmiURL_SetComponentFromText(This,uIndex,pszText) \
  1879. (This)->lpVtbl -> SetComponentFromText(This,uIndex,pszText)
  1880. #define IUmiURL_GetComponent(This,uIndex,puClassNameBufSize,pszClass,pKeyList) \
  1881. (This)->lpVtbl -> GetComponent(This,uIndex,puClassNameBufSize,pszClass,pKeyList)
  1882. #define IUmiURL_GetComponentAsText(This,uIndex,puTextBufSize,pszText) \
  1883. (This)->lpVtbl -> GetComponentAsText(This,uIndex,puTextBufSize,pszText)
  1884. #define IUmiURL_RemoveComponent(This,uIndex) \
  1885. (This)->lpVtbl -> RemoveComponent(This,uIndex)
  1886. #define IUmiURL_RemoveAllComponents(This) \
  1887. (This)->lpVtbl -> RemoveAllComponents(This)
  1888. #define IUmiURL_SetLeafName(This,Name) \
  1889. (This)->lpVtbl -> SetLeafName(This,Name)
  1890. #define IUmiURL_GetLeafName(This,puBuffLength,pszName) \
  1891. (This)->lpVtbl -> GetLeafName(This,puBuffLength,pszName)
  1892. #define IUmiURL_GetKeyList(This,pOut) \
  1893. (This)->lpVtbl -> GetKeyList(This,pOut)
  1894. #define IUmiURL_CreateLeafPart(This,lFlags,Name) \
  1895. (This)->lpVtbl -> CreateLeafPart(This,lFlags,Name)
  1896. #define IUmiURL_DeleteLeafPart(This,lFlags) \
  1897. (This)->lpVtbl -> DeleteLeafPart(This,lFlags)
  1898. #endif /* COBJMACROS */
  1899. #endif /* C style interface */
  1900. HRESULT STDMETHODCALLTYPE IUmiURL_Set_Proxy(
  1901. IUmiURL * This,
  1902. /* [in] */ long lFlags,
  1903. /* [in] */ LPCWSTR pszText);
  1904. void __RPC_STUB IUmiURL_Set_Stub(
  1905. IRpcStubBuffer *This,
  1906. IRpcChannelBuffer *_pRpcChannelBuffer,
  1907. PRPC_MESSAGE _pRpcMessage,
  1908. DWORD *_pdwStubPhase);
  1909. HRESULT STDMETHODCALLTYPE IUmiURL_Get_Proxy(
  1910. IUmiURL * This,
  1911. /* [in] */ long lFlags,
  1912. /* [out][in] */ ULONG *puBufSize,
  1913. /* [string][in] */ LPWSTR pszDest);
  1914. void __RPC_STUB IUmiURL_Get_Stub(
  1915. IRpcStubBuffer *This,
  1916. IRpcChannelBuffer *_pRpcChannelBuffer,
  1917. PRPC_MESSAGE _pRpcMessage,
  1918. DWORD *_pdwStubPhase);
  1919. HRESULT STDMETHODCALLTYPE IUmiURL_GetPathInfo_Proxy(
  1920. IUmiURL * This,
  1921. /* [in] */ ULONG uRequestedInfo,
  1922. /* [out] */ ULONGLONG *puResponse);
  1923. void __RPC_STUB IUmiURL_GetPathInfo_Stub(
  1924. IRpcStubBuffer *This,
  1925. IRpcChannelBuffer *_pRpcChannelBuffer,
  1926. PRPC_MESSAGE _pRpcMessage,
  1927. DWORD *_pdwStubPhase);
  1928. HRESULT STDMETHODCALLTYPE IUmiURL_SetLocator_Proxy(
  1929. IUmiURL * This,
  1930. /* [string][in] */ LPCWSTR Name);
  1931. void __RPC_STUB IUmiURL_SetLocator_Stub(
  1932. IRpcStubBuffer *This,
  1933. IRpcChannelBuffer *_pRpcChannelBuffer,
  1934. PRPC_MESSAGE _pRpcMessage,
  1935. DWORD *_pdwStubPhase);
  1936. HRESULT STDMETHODCALLTYPE IUmiURL_GetLocator_Proxy(
  1937. IUmiURL * This,
  1938. /* [out][in] */ ULONG *puNameBufLength,
  1939. /* [string][in] */ LPWSTR pName);
  1940. void __RPC_STUB IUmiURL_GetLocator_Stub(
  1941. IRpcStubBuffer *This,
  1942. IRpcChannelBuffer *_pRpcChannelBuffer,
  1943. PRPC_MESSAGE _pRpcMessage,
  1944. DWORD *_pdwStubPhase);
  1945. HRESULT STDMETHODCALLTYPE IUmiURL_SetRootNamespace_Proxy(
  1946. IUmiURL * This,
  1947. /* [string][in] */ LPCWSTR Name);
  1948. void __RPC_STUB IUmiURL_SetRootNamespace_Stub(
  1949. IRpcStubBuffer *This,
  1950. IRpcChannelBuffer *_pRpcChannelBuffer,
  1951. PRPC_MESSAGE _pRpcMessage,
  1952. DWORD *_pdwStubPhase);
  1953. HRESULT STDMETHODCALLTYPE IUmiURL_GetRootNamespace_Proxy(
  1954. IUmiURL * This,
  1955. /* [out][in] */ ULONG *puNameBufLength,
  1956. /* [string][out][in] */ LPWSTR pName);
  1957. void __RPC_STUB IUmiURL_GetRootNamespace_Stub(
  1958. IRpcStubBuffer *This,
  1959. IRpcChannelBuffer *_pRpcChannelBuffer,
  1960. PRPC_MESSAGE _pRpcMessage,
  1961. DWORD *_pdwStubPhase);
  1962. HRESULT STDMETHODCALLTYPE IUmiURL_GetComponentCount_Proxy(
  1963. IUmiURL * This,
  1964. /* [out] */ ULONG *puCount);
  1965. void __RPC_STUB IUmiURL_GetComponentCount_Stub(
  1966. IRpcStubBuffer *This,
  1967. IRpcChannelBuffer *_pRpcChannelBuffer,
  1968. PRPC_MESSAGE _pRpcMessage,
  1969. DWORD *_pdwStubPhase);
  1970. HRESULT STDMETHODCALLTYPE IUmiURL_SetComponent_Proxy(
  1971. IUmiURL * This,
  1972. /* [in] */ ULONG uIndex,
  1973. /* [in] */ LPWSTR pszClass);
  1974. void __RPC_STUB IUmiURL_SetComponent_Stub(
  1975. IRpcStubBuffer *This,
  1976. IRpcChannelBuffer *_pRpcChannelBuffer,
  1977. PRPC_MESSAGE _pRpcMessage,
  1978. DWORD *_pdwStubPhase);
  1979. HRESULT STDMETHODCALLTYPE IUmiURL_SetComponentFromText_Proxy(
  1980. IUmiURL * This,
  1981. /* [in] */ ULONG uIndex,
  1982. /* [in] */ LPWSTR pszText);
  1983. void __RPC_STUB IUmiURL_SetComponentFromText_Stub(
  1984. IRpcStubBuffer *This,
  1985. IRpcChannelBuffer *_pRpcChannelBuffer,
  1986. PRPC_MESSAGE _pRpcMessage,
  1987. DWORD *_pdwStubPhase);
  1988. HRESULT STDMETHODCALLTYPE IUmiURL_GetComponent_Proxy(
  1989. IUmiURL * This,
  1990. /* [in] */ ULONG uIndex,
  1991. /* [out][in] */ ULONG *puClassNameBufSize,
  1992. /* [out][in] */ LPWSTR pszClass,
  1993. /* [out] */ IUmiURLKeyList **pKeyList);
  1994. void __RPC_STUB IUmiURL_GetComponent_Stub(
  1995. IRpcStubBuffer *This,
  1996. IRpcChannelBuffer *_pRpcChannelBuffer,
  1997. PRPC_MESSAGE _pRpcMessage,
  1998. DWORD *_pdwStubPhase);
  1999. HRESULT STDMETHODCALLTYPE IUmiURL_GetComponentAsText_Proxy(
  2000. IUmiURL * This,
  2001. /* [in] */ ULONG uIndex,
  2002. /* [out][in] */ ULONG *puTextBufSize,
  2003. /* [out][in] */ LPWSTR pszText);
  2004. void __RPC_STUB IUmiURL_GetComponentAsText_Stub(
  2005. IRpcStubBuffer *This,
  2006. IRpcChannelBuffer *_pRpcChannelBuffer,
  2007. PRPC_MESSAGE _pRpcMessage,
  2008. DWORD *_pdwStubPhase);
  2009. HRESULT STDMETHODCALLTYPE IUmiURL_RemoveComponent_Proxy(
  2010. IUmiURL * This,
  2011. /* [in] */ ULONG uIndex);
  2012. void __RPC_STUB IUmiURL_RemoveComponent_Stub(
  2013. IRpcStubBuffer *This,
  2014. IRpcChannelBuffer *_pRpcChannelBuffer,
  2015. PRPC_MESSAGE _pRpcMessage,
  2016. DWORD *_pdwStubPhase);
  2017. HRESULT STDMETHODCALLTYPE IUmiURL_RemoveAllComponents_Proxy(
  2018. IUmiURL * This);
  2019. void __RPC_STUB IUmiURL_RemoveAllComponents_Stub(
  2020. IRpcStubBuffer *This,
  2021. IRpcChannelBuffer *_pRpcChannelBuffer,
  2022. PRPC_MESSAGE _pRpcMessage,
  2023. DWORD *_pdwStubPhase);
  2024. HRESULT STDMETHODCALLTYPE IUmiURL_SetLeafName_Proxy(
  2025. IUmiURL * This,
  2026. /* [string][in] */ LPCWSTR Name);
  2027. void __RPC_STUB IUmiURL_SetLeafName_Stub(
  2028. IRpcStubBuffer *This,
  2029. IRpcChannelBuffer *_pRpcChannelBuffer,
  2030. PRPC_MESSAGE _pRpcMessage,
  2031. DWORD *_pdwStubPhase);
  2032. HRESULT STDMETHODCALLTYPE IUmiURL_GetLeafName_Proxy(
  2033. IUmiURL * This,
  2034. /* [out][in] */ ULONG *puBuffLength,
  2035. /* [string][out][in] */ LPWSTR pszName);
  2036. void __RPC_STUB IUmiURL_GetLeafName_Stub(
  2037. IRpcStubBuffer *This,
  2038. IRpcChannelBuffer *_pRpcChannelBuffer,
  2039. PRPC_MESSAGE _pRpcMessage,
  2040. DWORD *_pdwStubPhase);
  2041. HRESULT STDMETHODCALLTYPE IUmiURL_GetKeyList_Proxy(
  2042. IUmiURL * This,
  2043. /* [out] */ IUmiURLKeyList **pOut);
  2044. void __RPC_STUB IUmiURL_GetKeyList_Stub(
  2045. IRpcStubBuffer *This,
  2046. IRpcChannelBuffer *_pRpcChannelBuffer,
  2047. PRPC_MESSAGE _pRpcMessage,
  2048. DWORD *_pdwStubPhase);
  2049. HRESULT STDMETHODCALLTYPE IUmiURL_CreateLeafPart_Proxy(
  2050. IUmiURL * This,
  2051. /* [in] */ long lFlags,
  2052. /* [string][in] */ LPCWSTR Name);
  2053. void __RPC_STUB IUmiURL_CreateLeafPart_Stub(
  2054. IRpcStubBuffer *This,
  2055. IRpcChannelBuffer *_pRpcChannelBuffer,
  2056. PRPC_MESSAGE _pRpcMessage,
  2057. DWORD *_pdwStubPhase);
  2058. HRESULT STDMETHODCALLTYPE IUmiURL_DeleteLeafPart_Proxy(
  2059. IUmiURL * This,
  2060. /* [in] */ long lFlags);
  2061. void __RPC_STUB IUmiURL_DeleteLeafPart_Stub(
  2062. IRpcStubBuffer *This,
  2063. IRpcChannelBuffer *_pRpcChannelBuffer,
  2064. PRPC_MESSAGE _pRpcMessage,
  2065. DWORD *_pdwStubPhase);
  2066. #endif /* __IUmiURL_INTERFACE_DEFINED__ */
  2067. #ifndef __IUmiQuery_INTERFACE_DEFINED__
  2068. #define __IUmiQuery_INTERFACE_DEFINED__
  2069. /* interface IUmiQuery */
  2070. /* [uuid][local][object] */
  2071. EXTERN_C const IID IID_IUmiQuery;
  2072. #if defined(__cplusplus) && !defined(CINTERFACE)
  2073. MIDL_INTERFACE("12575a7e-d9db-11d3-a11f-00105a1f515a")
  2074. IUmiQuery : public IUmiBaseObject
  2075. {
  2076. public:
  2077. virtual HRESULT STDMETHODCALLTYPE Set(
  2078. /* [in] */ LPCWSTR pszLanguage,
  2079. /* [in] */ ULONG uFlags,
  2080. /* [in] */ LPCWSTR pszText) = 0;
  2081. virtual HRESULT STDMETHODCALLTYPE GetQuery(
  2082. /* [out][in] */ ULONG *puLangBufSize,
  2083. /* [out][in] */ LPWSTR pszLangBuf,
  2084. /* [out][in] */ ULONG *puQueryTextBufSize,
  2085. /* [out][in] */ LPWSTR pszQueryTextBuf) = 0;
  2086. };
  2087. #else /* C style interface */
  2088. typedef struct IUmiQueryVtbl
  2089. {
  2090. BEGIN_INTERFACE
  2091. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2092. IUmiQuery * This,
  2093. /* [in] */ REFIID riid,
  2094. /* [iid_is][out] */ void **ppvObject);
  2095. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2096. IUmiQuery * This);
  2097. ULONG ( STDMETHODCALLTYPE *Release )(
  2098. IUmiQuery * This);
  2099. HRESULT ( STDMETHODCALLTYPE *Put )(
  2100. IUmiQuery * This,
  2101. /* [in] */ LPCWSTR pszName,
  2102. /* [in] */ ULONG uFlags,
  2103. /* [in] */ UMI_PROPERTY_VALUES *pProp);
  2104. HRESULT ( STDMETHODCALLTYPE *Get )(
  2105. IUmiQuery * This,
  2106. /* [in] */ LPCWSTR pszName,
  2107. /* [in] */ ULONG uFlags,
  2108. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  2109. HRESULT ( STDMETHODCALLTYPE *GetAt )(
  2110. IUmiQuery * This,
  2111. /* [in] */ LPCWSTR pszName,
  2112. /* [in] */ ULONG uFlags,
  2113. /* [in] */ ULONG uBufferLength,
  2114. /* [out] */ LPVOID pExistingMem);
  2115. HRESULT ( STDMETHODCALLTYPE *GetAs )(
  2116. IUmiQuery * This,
  2117. /* [in] */ LPCWSTR pszName,
  2118. /* [in] */ ULONG uFlags,
  2119. /* [in] */ ULONG uCoercionType,
  2120. /* [out] */ UMI_PROPERTY_VALUES **pProp);
  2121. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  2122. IUmiQuery * This,
  2123. ULONG uReserved,
  2124. LPVOID pMem);
  2125. HRESULT ( STDMETHODCALLTYPE *Delete )(
  2126. IUmiQuery * This,
  2127. /* [in] */ LPCWSTR pszName,
  2128. /* [in] */ ULONG uFlags);
  2129. HRESULT ( STDMETHODCALLTYPE *GetProps )(
  2130. IUmiQuery * This,
  2131. /* [in] */ LPCWSTR *pszNames,
  2132. /* [in] */ ULONG uNameCount,
  2133. /* [in] */ ULONG uFlags,
  2134. /* [out] */ UMI_PROPERTY_VALUES **pProps);
  2135. HRESULT ( STDMETHODCALLTYPE *PutProps )(
  2136. IUmiQuery * This,
  2137. /* [in] */ LPCWSTR *pszNames,
  2138. /* [in] */ ULONG uNameCount,
  2139. /* [in] */ ULONG uFlags,
  2140. /* [in] */ UMI_PROPERTY_VALUES *pProps);
  2141. HRESULT ( STDMETHODCALLTYPE *PutFrom )(
  2142. IUmiQuery * This,
  2143. /* [in] */ LPCWSTR pszName,
  2144. /* [in] */ ULONG uFlags,
  2145. /* [in] */ ULONG uBufferLength,
  2146. /* [in] */ LPVOID pExistingMem);
  2147. HRESULT ( STDMETHODCALLTYPE *GetLastStatus )(
  2148. IUmiQuery * This,
  2149. /* [in] */ ULONG uFlags,
  2150. /* [out] */ ULONG *puSpecificStatus,
  2151. /* [in] */ REFIID riid,
  2152. /* [iid_is][out] */ LPVOID *pStatusObj);
  2153. HRESULT ( STDMETHODCALLTYPE *GetInterfacePropList )(
  2154. IUmiQuery * This,
  2155. /* [in] */ ULONG uFlags,
  2156. /* [out] */ IUmiPropList **pPropList);
  2157. HRESULT ( STDMETHODCALLTYPE *Set )(
  2158. IUmiQuery * This,
  2159. /* [in] */ LPCWSTR pszLanguage,
  2160. /* [in] */ ULONG uFlags,
  2161. /* [in] */ LPCWSTR pszText);
  2162. HRESULT ( STDMETHODCALLTYPE *GetQuery )(
  2163. IUmiQuery * This,
  2164. /* [out][in] */ ULONG *puLangBufSize,
  2165. /* [out][in] */ LPWSTR pszLangBuf,
  2166. /* [out][in] */ ULONG *puQueryTextBufSize,
  2167. /* [out][in] */ LPWSTR pszQueryTextBuf);
  2168. END_INTERFACE
  2169. } IUmiQueryVtbl;
  2170. interface IUmiQuery
  2171. {
  2172. CONST_VTBL struct IUmiQueryVtbl *lpVtbl;
  2173. };
  2174. #ifdef COBJMACROS
  2175. #define IUmiQuery_QueryInterface(This,riid,ppvObject) \
  2176. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2177. #define IUmiQuery_AddRef(This) \
  2178. (This)->lpVtbl -> AddRef(This)
  2179. #define IUmiQuery_Release(This) \
  2180. (This)->lpVtbl -> Release(This)
  2181. #define IUmiQuery_Put(This,pszName,uFlags,pProp) \
  2182. (This)->lpVtbl -> Put(This,pszName,uFlags,pProp)
  2183. #define IUmiQuery_Get(This,pszName,uFlags,pProp) \
  2184. (This)->lpVtbl -> Get(This,pszName,uFlags,pProp)
  2185. #define IUmiQuery_GetAt(This,pszName,uFlags,uBufferLength,pExistingMem) \
  2186. (This)->lpVtbl -> GetAt(This,pszName,uFlags,uBufferLength,pExistingMem)
  2187. #define IUmiQuery_GetAs(This,pszName,uFlags,uCoercionType,pProp) \
  2188. (This)->lpVtbl -> GetAs(This,pszName,uFlags,uCoercionType,pProp)
  2189. #define IUmiQuery_FreeMemory(This,uReserved,pMem) \
  2190. (This)->lpVtbl -> FreeMemory(This,uReserved,pMem)
  2191. #define IUmiQuery_Delete(This,pszName,uFlags) \
  2192. (This)->lpVtbl -> Delete(This,pszName,uFlags)
  2193. #define IUmiQuery_GetProps(This,pszNames,uNameCount,uFlags,pProps) \
  2194. (This)->lpVtbl -> GetProps(This,pszNames,uNameCount,uFlags,pProps)
  2195. #define IUmiQuery_PutProps(This,pszNames,uNameCount,uFlags,pProps) \
  2196. (This)->lpVtbl -> PutProps(This,pszNames,uNameCount,uFlags,pProps)
  2197. #define IUmiQuery_PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem) \
  2198. (This)->lpVtbl -> PutFrom(This,pszName,uFlags,uBufferLength,pExistingMem)
  2199. #define IUmiQuery_GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj) \
  2200. (This)->lpVtbl -> GetLastStatus(This,uFlags,puSpecificStatus,riid,pStatusObj)
  2201. #define IUmiQuery_GetInterfacePropList(This,uFlags,pPropList) \
  2202. (This)->lpVtbl -> GetInterfacePropList(This,uFlags,pPropList)
  2203. #define IUmiQuery_Set(This,pszLanguage,uFlags,pszText) \
  2204. (This)->lpVtbl -> Set(This,pszLanguage,uFlags,pszText)
  2205. #define IUmiQuery_GetQuery(This,puLangBufSize,pszLangBuf,puQueryTextBufSize,pszQueryTextBuf) \
  2206. (This)->lpVtbl -> GetQuery(This,puLangBufSize,pszLangBuf,puQueryTextBufSize,pszQueryTextBuf)
  2207. #endif /* COBJMACROS */
  2208. #endif /* C style interface */
  2209. HRESULT STDMETHODCALLTYPE IUmiQuery_Set_Proxy(
  2210. IUmiQuery * This,
  2211. /* [in] */ LPCWSTR pszLanguage,
  2212. /* [in] */ ULONG uFlags,
  2213. /* [in] */ LPCWSTR pszText);
  2214. void __RPC_STUB IUmiQuery_Set_Stub(
  2215. IRpcStubBuffer *This,
  2216. IRpcChannelBuffer *_pRpcChannelBuffer,
  2217. PRPC_MESSAGE _pRpcMessage,
  2218. DWORD *_pdwStubPhase);
  2219. HRESULT STDMETHODCALLTYPE IUmiQuery_GetQuery_Proxy(
  2220. IUmiQuery * This,
  2221. /* [out][in] */ ULONG *puLangBufSize,
  2222. /* [out][in] */ LPWSTR pszLangBuf,
  2223. /* [out][in] */ ULONG *puQueryTextBufSize,
  2224. /* [out][in] */ LPWSTR pszQueryTextBuf);
  2225. void __RPC_STUB IUmiQuery_GetQuery_Stub(
  2226. IRpcStubBuffer *This,
  2227. IRpcChannelBuffer *_pRpcChannelBuffer,
  2228. PRPC_MESSAGE _pRpcMessage,
  2229. DWORD *_pdwStubPhase);
  2230. #endif /* __IUmiQuery_INTERFACE_DEFINED__ */
  2231. #ifndef __IUmiCustomInterfaceFactory_INTERFACE_DEFINED__
  2232. #define __IUmiCustomInterfaceFactory_INTERFACE_DEFINED__
  2233. /* interface IUmiCustomInterfaceFactory */
  2234. /* [uuid][local][object] */
  2235. EXTERN_C const IID IID_IUmiCustomInterfaceFactory;
  2236. #if defined(__cplusplus) && !defined(CINTERFACE)
  2237. MIDL_INTERFACE("14CD599E-2BE7-4c6f-B95B-B150DCD93585")
  2238. IUmiCustomInterfaceFactory : public IUnknown
  2239. {
  2240. public:
  2241. virtual HRESULT STDMETHODCALLTYPE GetCLSIDForIID(
  2242. /* [in] */ REFIID riid,
  2243. /* [in] */ long lFlags,
  2244. /* [out][in] */ CLSID *pCLSID) = 0;
  2245. virtual HRESULT STDMETHODCALLTYPE GetObjectByCLSID(
  2246. /* [in] */ CLSID clsid,
  2247. /* [in] */ IUnknown *pUnkOuter,
  2248. /* [in] */ DWORD dwClsContext,
  2249. /* [in] */ REFIID riid,
  2250. /* [in] */ long lFlags,
  2251. /* [iid_is][out] */ void **ppInterface) = 0;
  2252. virtual HRESULT STDMETHODCALLTYPE GetCLSIDForNames(
  2253. /* [size_is][in] */ LPOLESTR *rgszNames,
  2254. /* [in] */ UINT cNames,
  2255. /* [in] */ LCID lcid,
  2256. /* [size_is][out] */ DISPID *rgDispId,
  2257. /* [in] */ long lFlags,
  2258. /* [out][in] */ CLSID *pCLSID) = 0;
  2259. };
  2260. #else /* C style interface */
  2261. typedef struct IUmiCustomInterfaceFactoryVtbl
  2262. {
  2263. BEGIN_INTERFACE
  2264. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2265. IUmiCustomInterfaceFactory * This,
  2266. /* [in] */ REFIID riid,
  2267. /* [iid_is][out] */ void **ppvObject);
  2268. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2269. IUmiCustomInterfaceFactory * This);
  2270. ULONG ( STDMETHODCALLTYPE *Release )(
  2271. IUmiCustomInterfaceFactory * This);
  2272. HRESULT ( STDMETHODCALLTYPE *GetCLSIDForIID )(
  2273. IUmiCustomInterfaceFactory * This,
  2274. /* [in] */ REFIID riid,
  2275. /* [in] */ long lFlags,
  2276. /* [out][in] */ CLSID *pCLSID);
  2277. HRESULT ( STDMETHODCALLTYPE *GetObjectByCLSID )(
  2278. IUmiCustomInterfaceFactory * This,
  2279. /* [in] */ CLSID clsid,
  2280. /* [in] */ IUnknown *pUnkOuter,
  2281. /* [in] */ DWORD dwClsContext,
  2282. /* [in] */ REFIID riid,
  2283. /* [in] */ long lFlags,
  2284. /* [iid_is][out] */ void **ppInterface);
  2285. HRESULT ( STDMETHODCALLTYPE *GetCLSIDForNames )(
  2286. IUmiCustomInterfaceFactory * This,
  2287. /* [size_is][in] */ LPOLESTR *rgszNames,
  2288. /* [in] */ UINT cNames,
  2289. /* [in] */ LCID lcid,
  2290. /* [size_is][out] */ DISPID *rgDispId,
  2291. /* [in] */ long lFlags,
  2292. /* [out][in] */ CLSID *pCLSID);
  2293. END_INTERFACE
  2294. } IUmiCustomInterfaceFactoryVtbl;
  2295. interface IUmiCustomInterfaceFactory
  2296. {
  2297. CONST_VTBL struct IUmiCustomInterfaceFactoryVtbl *lpVtbl;
  2298. };
  2299. #ifdef COBJMACROS
  2300. #define IUmiCustomInterfaceFactory_QueryInterface(This,riid,ppvObject) \
  2301. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2302. #define IUmiCustomInterfaceFactory_AddRef(This) \
  2303. (This)->lpVtbl -> AddRef(This)
  2304. #define IUmiCustomInterfaceFactory_Release(This) \
  2305. (This)->lpVtbl -> Release(This)
  2306. #define IUmiCustomInterfaceFactory_GetCLSIDForIID(This,riid,lFlags,pCLSID) \
  2307. (This)->lpVtbl -> GetCLSIDForIID(This,riid,lFlags,pCLSID)
  2308. #define IUmiCustomInterfaceFactory_GetObjectByCLSID(This,clsid,pUnkOuter,dwClsContext,riid,lFlags,ppInterface) \
  2309. (This)->lpVtbl -> GetObjectByCLSID(This,clsid,pUnkOuter,dwClsContext,riid,lFlags,ppInterface)
  2310. #define IUmiCustomInterfaceFactory_GetCLSIDForNames(This,rgszNames,cNames,lcid,rgDispId,lFlags,pCLSID) \
  2311. (This)->lpVtbl -> GetCLSIDForNames(This,rgszNames,cNames,lcid,rgDispId,lFlags,pCLSID)
  2312. #endif /* COBJMACROS */
  2313. #endif /* C style interface */
  2314. HRESULT STDMETHODCALLTYPE IUmiCustomInterfaceFactory_GetCLSIDForIID_Proxy(
  2315. IUmiCustomInterfaceFactory * This,
  2316. /* [in] */ REFIID riid,
  2317. /* [in] */ long lFlags,
  2318. /* [out][in] */ CLSID *pCLSID);
  2319. void __RPC_STUB IUmiCustomInterfaceFactory_GetCLSIDForIID_Stub(
  2320. IRpcStubBuffer *This,
  2321. IRpcChannelBuffer *_pRpcChannelBuffer,
  2322. PRPC_MESSAGE _pRpcMessage,
  2323. DWORD *_pdwStubPhase);
  2324. HRESULT STDMETHODCALLTYPE IUmiCustomInterfaceFactory_GetObjectByCLSID_Proxy(
  2325. IUmiCustomInterfaceFactory * This,
  2326. /* [in] */ CLSID clsid,
  2327. /* [in] */ IUnknown *pUnkOuter,
  2328. /* [in] */ DWORD dwClsContext,
  2329. /* [in] */ REFIID riid,
  2330. /* [in] */ long lFlags,
  2331. /* [iid_is][out] */ void **ppInterface);
  2332. void __RPC_STUB IUmiCustomInterfaceFactory_GetObjectByCLSID_Stub(
  2333. IRpcStubBuffer *This,
  2334. IRpcChannelBuffer *_pRpcChannelBuffer,
  2335. PRPC_MESSAGE _pRpcMessage,
  2336. DWORD *_pdwStubPhase);
  2337. HRESULT STDMETHODCALLTYPE IUmiCustomInterfaceFactory_GetCLSIDForNames_Proxy(
  2338. IUmiCustomInterfaceFactory * This,
  2339. /* [size_is][in] */ LPOLESTR *rgszNames,
  2340. /* [in] */ UINT cNames,
  2341. /* [in] */ LCID lcid,
  2342. /* [size_is][out] */ DISPID *rgDispId,
  2343. /* [in] */ long lFlags,
  2344. /* [out][in] */ CLSID *pCLSID);
  2345. void __RPC_STUB IUmiCustomInterfaceFactory_GetCLSIDForNames_Stub(
  2346. IRpcStubBuffer *This,
  2347. IRpcChannelBuffer *_pRpcChannelBuffer,
  2348. PRPC_MESSAGE _pRpcMessage,
  2349. DWORD *_pdwStubPhase);
  2350. #endif /* __IUmiCustomInterfaceFactory_INTERFACE_DEFINED__ */
  2351. EXTERN_C const CLSID CLSID_UmiDefURL;
  2352. #ifdef __cplusplus
  2353. class DECLSPEC_UUID("d4b21cc2-f2a5-453e-8459-b27f362cb0e0")
  2354. UmiDefURL;
  2355. #endif
  2356. #endif /* __UMI_V6_LIBRARY_DEFINED__ */
  2357. /* Additional Prototypes for ALL interfaces */
  2358. /* end of Additional Prototypes */
  2359. #ifdef __cplusplus
  2360. }
  2361. #endif
  2362. #endif