Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1073 lines
33 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for upnphost.idl:
  4. Oicf, W1, Zp8, env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __upnphost_h__
  27. #define __upnphost_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IUPnPEventSink_FWD_DEFINED__
  33. #define __IUPnPEventSink_FWD_DEFINED__
  34. typedef interface IUPnPEventSink IUPnPEventSink;
  35. #endif /* __IUPnPEventSink_FWD_DEFINED__ */
  36. #ifndef __IUPnPEventSource_FWD_DEFINED__
  37. #define __IUPnPEventSource_FWD_DEFINED__
  38. typedef interface IUPnPEventSource IUPnPEventSource;
  39. #endif /* __IUPnPEventSource_FWD_DEFINED__ */
  40. #ifndef __IUPnPRegistrar_FWD_DEFINED__
  41. #define __IUPnPRegistrar_FWD_DEFINED__
  42. typedef interface IUPnPRegistrar IUPnPRegistrar;
  43. #endif /* __IUPnPRegistrar_FWD_DEFINED__ */
  44. #ifndef __IUPnPReregistrar_FWD_DEFINED__
  45. #define __IUPnPReregistrar_FWD_DEFINED__
  46. typedef interface IUPnPReregistrar IUPnPReregistrar;
  47. #endif /* __IUPnPReregistrar_FWD_DEFINED__ */
  48. #ifndef __IUPnPDeviceControl_FWD_DEFINED__
  49. #define __IUPnPDeviceControl_FWD_DEFINED__
  50. typedef interface IUPnPDeviceControl IUPnPDeviceControl;
  51. #endif /* __IUPnPDeviceControl_FWD_DEFINED__ */
  52. #ifndef __IUPnPDeviceProvider_FWD_DEFINED__
  53. #define __IUPnPDeviceProvider_FWD_DEFINED__
  54. typedef interface IUPnPDeviceProvider IUPnPDeviceProvider;
  55. #endif /* __IUPnPDeviceProvider_FWD_DEFINED__ */
  56. #ifndef __IUPnPEventSink_FWD_DEFINED__
  57. #define __IUPnPEventSink_FWD_DEFINED__
  58. typedef interface IUPnPEventSink IUPnPEventSink;
  59. #endif /* __IUPnPEventSink_FWD_DEFINED__ */
  60. #ifndef __IUPnPEventSource_FWD_DEFINED__
  61. #define __IUPnPEventSource_FWD_DEFINED__
  62. typedef interface IUPnPEventSource IUPnPEventSource;
  63. #endif /* __IUPnPEventSource_FWD_DEFINED__ */
  64. #ifndef __IUPnPRegistrar_FWD_DEFINED__
  65. #define __IUPnPRegistrar_FWD_DEFINED__
  66. typedef interface IUPnPRegistrar IUPnPRegistrar;
  67. #endif /* __IUPnPRegistrar_FWD_DEFINED__ */
  68. #ifndef __IUPnPReregistrar_FWD_DEFINED__
  69. #define __IUPnPReregistrar_FWD_DEFINED__
  70. typedef interface IUPnPReregistrar IUPnPReregistrar;
  71. #endif /* __IUPnPReregistrar_FWD_DEFINED__ */
  72. #ifndef __IUPnPDeviceControl_FWD_DEFINED__
  73. #define __IUPnPDeviceControl_FWD_DEFINED__
  74. typedef interface IUPnPDeviceControl IUPnPDeviceControl;
  75. #endif /* __IUPnPDeviceControl_FWD_DEFINED__ */
  76. #ifndef __IUPnPDeviceProvider_FWD_DEFINED__
  77. #define __IUPnPDeviceProvider_FWD_DEFINED__
  78. typedef interface IUPnPDeviceProvider IUPnPDeviceProvider;
  79. #endif /* __IUPnPDeviceProvider_FWD_DEFINED__ */
  80. #ifndef __UPnPRegistrar_FWD_DEFINED__
  81. #define __UPnPRegistrar_FWD_DEFINED__
  82. #ifdef __cplusplus
  83. typedef class UPnPRegistrar UPnPRegistrar;
  84. #else
  85. typedef struct UPnPRegistrar UPnPRegistrar;
  86. #endif /* __cplusplus */
  87. #endif /* __UPnPRegistrar_FWD_DEFINED__ */
  88. /* header files for imported files */
  89. #include "ocidl.h"
  90. #ifdef __cplusplus
  91. extern "C"{
  92. #endif
  93. void * __RPC_USER MIDL_user_allocate(size_t);
  94. void __RPC_USER MIDL_user_free( void * );
  95. /* interface __MIDL_itf_upnphost_0000 */
  96. /* [local] */
  97. //+-------------------------------------------------------------------------
  98. //
  99. // Microsoft Windows
  100. // Copyright (c) Microsoft Corporation. All rights reserved.
  101. //
  102. //--------------------------------------------------------------------------
  103. #define UPNP_E_REQUIRED_ELEMENT_ERROR MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA020)
  104. #define UPNP_E_DUPLICATE_NOT_ALLOWED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA021)
  105. #define UPNP_E_DUPLICATE_SERVICE_ID MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA022)
  106. #define UPNP_E_INVALID_DESCRIPTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA023)
  107. #define UPNP_E_INVALID_SERVICE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA024)
  108. #define UPNP_E_INVALID_ICON MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA025)
  109. #define UPNP_E_INVALID_XML MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA026)
  110. #define UPNP_E_INVALID_ROOT_NAMESPACE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA027)
  111. #define UPNP_E_SUFFIX_TOO_LONG MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA028)
  112. #define UPNP_E_URLBASE_PRESENT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA029)
  113. #define UPNP_E_VALUE_TOO_LONG MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA030)
  114. #define UPNP_E_DEVICE_RUNNING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA031)
  115. extern RPC_IF_HANDLE __MIDL_itf_upnphost_0000_v0_0_c_ifspec;
  116. extern RPC_IF_HANDLE __MIDL_itf_upnphost_0000_v0_0_s_ifspec;
  117. #ifndef __IUPnPEventSink_INTERFACE_DEFINED__
  118. #define __IUPnPEventSink_INTERFACE_DEFINED__
  119. /* interface IUPnPEventSink */
  120. /* [object][unique][uuid] */
  121. EXTERN_C const IID IID_IUPnPEventSink;
  122. #if defined(__cplusplus) && !defined(CINTERFACE)
  123. MIDL_INTERFACE("204810b4-73b2-11d4-bf42-00b0d0118b56")
  124. IUPnPEventSink : public IUnknown
  125. {
  126. public:
  127. virtual /* [hidden][helpstring] */ HRESULT STDMETHODCALLTYPE OnStateChanged(
  128. /* [in] */ DWORD cChanges,
  129. /* [size_is][in] */ DISPID rgdispidChanges[ ]) = 0;
  130. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnStateChangedSafe(
  131. /* [in] */ VARIANT varsadispidChanges) = 0;
  132. };
  133. #else /* C style interface */
  134. typedef struct IUPnPEventSinkVtbl
  135. {
  136. BEGIN_INTERFACE
  137. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  138. IUPnPEventSink * This,
  139. /* [in] */ REFIID riid,
  140. /* [iid_is][out] */ void **ppvObject);
  141. ULONG ( STDMETHODCALLTYPE *AddRef )(
  142. IUPnPEventSink * This);
  143. ULONG ( STDMETHODCALLTYPE *Release )(
  144. IUPnPEventSink * This);
  145. /* [hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnStateChanged )(
  146. IUPnPEventSink * This,
  147. /* [in] */ DWORD cChanges,
  148. /* [size_is][in] */ DISPID rgdispidChanges[ ]);
  149. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnStateChangedSafe )(
  150. IUPnPEventSink * This,
  151. /* [in] */ VARIANT varsadispidChanges);
  152. END_INTERFACE
  153. } IUPnPEventSinkVtbl;
  154. interface IUPnPEventSink
  155. {
  156. CONST_VTBL struct IUPnPEventSinkVtbl *lpVtbl;
  157. };
  158. #ifdef COBJMACROS
  159. #define IUPnPEventSink_QueryInterface(This,riid,ppvObject) \
  160. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  161. #define IUPnPEventSink_AddRef(This) \
  162. (This)->lpVtbl -> AddRef(This)
  163. #define IUPnPEventSink_Release(This) \
  164. (This)->lpVtbl -> Release(This)
  165. #define IUPnPEventSink_OnStateChanged(This,cChanges,rgdispidChanges) \
  166. (This)->lpVtbl -> OnStateChanged(This,cChanges,rgdispidChanges)
  167. #define IUPnPEventSink_OnStateChangedSafe(This,varsadispidChanges) \
  168. (This)->lpVtbl -> OnStateChangedSafe(This,varsadispidChanges)
  169. #endif /* COBJMACROS */
  170. #endif /* C style interface */
  171. /* [hidden][helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSink_OnStateChanged_Proxy(
  172. IUPnPEventSink * This,
  173. /* [in] */ DWORD cChanges,
  174. /* [size_is][in] */ DISPID rgdispidChanges[ ]);
  175. void __RPC_STUB IUPnPEventSink_OnStateChanged_Stub(
  176. IRpcStubBuffer *This,
  177. IRpcChannelBuffer *_pRpcChannelBuffer,
  178. PRPC_MESSAGE _pRpcMessage,
  179. DWORD *_pdwStubPhase);
  180. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSink_OnStateChangedSafe_Proxy(
  181. IUPnPEventSink * This,
  182. /* [in] */ VARIANT varsadispidChanges);
  183. void __RPC_STUB IUPnPEventSink_OnStateChangedSafe_Stub(
  184. IRpcStubBuffer *This,
  185. IRpcChannelBuffer *_pRpcChannelBuffer,
  186. PRPC_MESSAGE _pRpcMessage,
  187. DWORD *_pdwStubPhase);
  188. #endif /* __IUPnPEventSink_INTERFACE_DEFINED__ */
  189. #ifndef __IUPnPEventSource_INTERFACE_DEFINED__
  190. #define __IUPnPEventSource_INTERFACE_DEFINED__
  191. /* interface IUPnPEventSource */
  192. /* [object][unique][uuid] */
  193. EXTERN_C const IID IID_IUPnPEventSource;
  194. #if defined(__cplusplus) && !defined(CINTERFACE)
  195. MIDL_INTERFACE("204810b5-73b2-11d4-bf42-00b0d0118b56")
  196. IUPnPEventSource : public IUnknown
  197. {
  198. public:
  199. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Advise(
  200. /* [in] */ IUPnPEventSink *pesSubscriber) = 0;
  201. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unadvise(
  202. /* [in] */ IUPnPEventSink *pesSubscriber) = 0;
  203. };
  204. #else /* C style interface */
  205. typedef struct IUPnPEventSourceVtbl
  206. {
  207. BEGIN_INTERFACE
  208. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  209. IUPnPEventSource * This,
  210. /* [in] */ REFIID riid,
  211. /* [iid_is][out] */ void **ppvObject);
  212. ULONG ( STDMETHODCALLTYPE *AddRef )(
  213. IUPnPEventSource * This);
  214. ULONG ( STDMETHODCALLTYPE *Release )(
  215. IUPnPEventSource * This);
  216. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Advise )(
  217. IUPnPEventSource * This,
  218. /* [in] */ IUPnPEventSink *pesSubscriber);
  219. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  220. IUPnPEventSource * This,
  221. /* [in] */ IUPnPEventSink *pesSubscriber);
  222. END_INTERFACE
  223. } IUPnPEventSourceVtbl;
  224. interface IUPnPEventSource
  225. {
  226. CONST_VTBL struct IUPnPEventSourceVtbl *lpVtbl;
  227. };
  228. #ifdef COBJMACROS
  229. #define IUPnPEventSource_QueryInterface(This,riid,ppvObject) \
  230. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  231. #define IUPnPEventSource_AddRef(This) \
  232. (This)->lpVtbl -> AddRef(This)
  233. #define IUPnPEventSource_Release(This) \
  234. (This)->lpVtbl -> Release(This)
  235. #define IUPnPEventSource_Advise(This,pesSubscriber) \
  236. (This)->lpVtbl -> Advise(This,pesSubscriber)
  237. #define IUPnPEventSource_Unadvise(This,pesSubscriber) \
  238. (This)->lpVtbl -> Unadvise(This,pesSubscriber)
  239. #endif /* COBJMACROS */
  240. #endif /* C style interface */
  241. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSource_Advise_Proxy(
  242. IUPnPEventSource * This,
  243. /* [in] */ IUPnPEventSink *pesSubscriber);
  244. void __RPC_STUB IUPnPEventSource_Advise_Stub(
  245. IRpcStubBuffer *This,
  246. IRpcChannelBuffer *_pRpcChannelBuffer,
  247. PRPC_MESSAGE _pRpcMessage,
  248. DWORD *_pdwStubPhase);
  249. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSource_Unadvise_Proxy(
  250. IUPnPEventSource * This,
  251. /* [in] */ IUPnPEventSink *pesSubscriber);
  252. void __RPC_STUB IUPnPEventSource_Unadvise_Stub(
  253. IRpcStubBuffer *This,
  254. IRpcChannelBuffer *_pRpcChannelBuffer,
  255. PRPC_MESSAGE _pRpcMessage,
  256. DWORD *_pdwStubPhase);
  257. #endif /* __IUPnPEventSource_INTERFACE_DEFINED__ */
  258. #ifndef __IUPnPRegistrar_INTERFACE_DEFINED__
  259. #define __IUPnPRegistrar_INTERFACE_DEFINED__
  260. /* interface IUPnPRegistrar */
  261. /* [object][unique][uuid] */
  262. EXTERN_C const IID IID_IUPnPRegistrar;
  263. #if defined(__cplusplus) && !defined(CINTERFACE)
  264. MIDL_INTERFACE("204810b6-73b2-11d4-bf42-00b0d0118b56")
  265. IUPnPRegistrar : public IUnknown
  266. {
  267. public:
  268. virtual HRESULT STDMETHODCALLTYPE RegisterDevice(
  269. /* [in] */ BSTR bstrXMLDesc,
  270. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  271. /* [in] */ BSTR bstrInitString,
  272. /* [in] */ BSTR bstrContainerId,
  273. /* [in] */ BSTR bstrResourcePath,
  274. /* [in] */ long nLifeTime,
  275. /* [retval][out] */ BSTR *pbstrDeviceIdentifier) = 0;
  276. virtual HRESULT STDMETHODCALLTYPE RegisterRunningDevice(
  277. /* [in] */ BSTR bstrXMLDesc,
  278. /* [in] */ IUnknown *punkDeviceControl,
  279. /* [in] */ BSTR bstrInitString,
  280. /* [in] */ BSTR bstrResourcePath,
  281. /* [in] */ long nLifeTime,
  282. /* [retval][out] */ BSTR *pbstrDeviceIdentifier) = 0;
  283. virtual HRESULT STDMETHODCALLTYPE RegisterDeviceProvider(
  284. /* [in] */ BSTR bstrProviderName,
  285. /* [in] */ BSTR bstrProgIDProviderClass,
  286. /* [in] */ BSTR bstrInitString,
  287. /* [in] */ BSTR bstrContainerId) = 0;
  288. virtual HRESULT STDMETHODCALLTYPE GetUniqueDeviceName(
  289. /* [in] */ BSTR bstrDeviceIdentifier,
  290. /* [in] */ BSTR bstrTemplateUDN,
  291. /* [retval][out] */ BSTR *pbstrUDN) = 0;
  292. virtual HRESULT STDMETHODCALLTYPE UnregisterDevice(
  293. /* [in] */ BSTR bstrDeviceIdentifier,
  294. /* [in] */ BOOL fPermanent) = 0;
  295. virtual HRESULT STDMETHODCALLTYPE UnregisterDeviceProvider(
  296. /* [in] */ BSTR bstrProviderName) = 0;
  297. };
  298. #else /* C style interface */
  299. typedef struct IUPnPRegistrarVtbl
  300. {
  301. BEGIN_INTERFACE
  302. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  303. IUPnPRegistrar * This,
  304. /* [in] */ REFIID riid,
  305. /* [iid_is][out] */ void **ppvObject);
  306. ULONG ( STDMETHODCALLTYPE *AddRef )(
  307. IUPnPRegistrar * This);
  308. ULONG ( STDMETHODCALLTYPE *Release )(
  309. IUPnPRegistrar * This);
  310. HRESULT ( STDMETHODCALLTYPE *RegisterDevice )(
  311. IUPnPRegistrar * This,
  312. /* [in] */ BSTR bstrXMLDesc,
  313. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  314. /* [in] */ BSTR bstrInitString,
  315. /* [in] */ BSTR bstrContainerId,
  316. /* [in] */ BSTR bstrResourcePath,
  317. /* [in] */ long nLifeTime,
  318. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  319. HRESULT ( STDMETHODCALLTYPE *RegisterRunningDevice )(
  320. IUPnPRegistrar * This,
  321. /* [in] */ BSTR bstrXMLDesc,
  322. /* [in] */ IUnknown *punkDeviceControl,
  323. /* [in] */ BSTR bstrInitString,
  324. /* [in] */ BSTR bstrResourcePath,
  325. /* [in] */ long nLifeTime,
  326. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  327. HRESULT ( STDMETHODCALLTYPE *RegisterDeviceProvider )(
  328. IUPnPRegistrar * This,
  329. /* [in] */ BSTR bstrProviderName,
  330. /* [in] */ BSTR bstrProgIDProviderClass,
  331. /* [in] */ BSTR bstrInitString,
  332. /* [in] */ BSTR bstrContainerId);
  333. HRESULT ( STDMETHODCALLTYPE *GetUniqueDeviceName )(
  334. IUPnPRegistrar * This,
  335. /* [in] */ BSTR bstrDeviceIdentifier,
  336. /* [in] */ BSTR bstrTemplateUDN,
  337. /* [retval][out] */ BSTR *pbstrUDN);
  338. HRESULT ( STDMETHODCALLTYPE *UnregisterDevice )(
  339. IUPnPRegistrar * This,
  340. /* [in] */ BSTR bstrDeviceIdentifier,
  341. /* [in] */ BOOL fPermanent);
  342. HRESULT ( STDMETHODCALLTYPE *UnregisterDeviceProvider )(
  343. IUPnPRegistrar * This,
  344. /* [in] */ BSTR bstrProviderName);
  345. END_INTERFACE
  346. } IUPnPRegistrarVtbl;
  347. interface IUPnPRegistrar
  348. {
  349. CONST_VTBL struct IUPnPRegistrarVtbl *lpVtbl;
  350. };
  351. #ifdef COBJMACROS
  352. #define IUPnPRegistrar_QueryInterface(This,riid,ppvObject) \
  353. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  354. #define IUPnPRegistrar_AddRef(This) \
  355. (This)->lpVtbl -> AddRef(This)
  356. #define IUPnPRegistrar_Release(This) \
  357. (This)->lpVtbl -> Release(This)
  358. #define IUPnPRegistrar_RegisterDevice(This,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier) \
  359. (This)->lpVtbl -> RegisterDevice(This,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier)
  360. #define IUPnPRegistrar_RegisterRunningDevice(This,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier) \
  361. (This)->lpVtbl -> RegisterRunningDevice(This,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier)
  362. #define IUPnPRegistrar_RegisterDeviceProvider(This,bstrProviderName,bstrProgIDProviderClass,bstrInitString,bstrContainerId) \
  363. (This)->lpVtbl -> RegisterDeviceProvider(This,bstrProviderName,bstrProgIDProviderClass,bstrInitString,bstrContainerId)
  364. #define IUPnPRegistrar_GetUniqueDeviceName(This,bstrDeviceIdentifier,bstrTemplateUDN,pbstrUDN) \
  365. (This)->lpVtbl -> GetUniqueDeviceName(This,bstrDeviceIdentifier,bstrTemplateUDN,pbstrUDN)
  366. #define IUPnPRegistrar_UnregisterDevice(This,bstrDeviceIdentifier,fPermanent) \
  367. (This)->lpVtbl -> UnregisterDevice(This,bstrDeviceIdentifier,fPermanent)
  368. #define IUPnPRegistrar_UnregisterDeviceProvider(This,bstrProviderName) \
  369. (This)->lpVtbl -> UnregisterDeviceProvider(This,bstrProviderName)
  370. #endif /* COBJMACROS */
  371. #endif /* C style interface */
  372. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_RegisterDevice_Proxy(
  373. IUPnPRegistrar * This,
  374. /* [in] */ BSTR bstrXMLDesc,
  375. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  376. /* [in] */ BSTR bstrInitString,
  377. /* [in] */ BSTR bstrContainerId,
  378. /* [in] */ BSTR bstrResourcePath,
  379. /* [in] */ long nLifeTime,
  380. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  381. void __RPC_STUB IUPnPRegistrar_RegisterDevice_Stub(
  382. IRpcStubBuffer *This,
  383. IRpcChannelBuffer *_pRpcChannelBuffer,
  384. PRPC_MESSAGE _pRpcMessage,
  385. DWORD *_pdwStubPhase);
  386. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_RegisterRunningDevice_Proxy(
  387. IUPnPRegistrar * This,
  388. /* [in] */ BSTR bstrXMLDesc,
  389. /* [in] */ IUnknown *punkDeviceControl,
  390. /* [in] */ BSTR bstrInitString,
  391. /* [in] */ BSTR bstrResourcePath,
  392. /* [in] */ long nLifeTime,
  393. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  394. void __RPC_STUB IUPnPRegistrar_RegisterRunningDevice_Stub(
  395. IRpcStubBuffer *This,
  396. IRpcChannelBuffer *_pRpcChannelBuffer,
  397. PRPC_MESSAGE _pRpcMessage,
  398. DWORD *_pdwStubPhase);
  399. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_RegisterDeviceProvider_Proxy(
  400. IUPnPRegistrar * This,
  401. /* [in] */ BSTR bstrProviderName,
  402. /* [in] */ BSTR bstrProgIDProviderClass,
  403. /* [in] */ BSTR bstrInitString,
  404. /* [in] */ BSTR bstrContainerId);
  405. void __RPC_STUB IUPnPRegistrar_RegisterDeviceProvider_Stub(
  406. IRpcStubBuffer *This,
  407. IRpcChannelBuffer *_pRpcChannelBuffer,
  408. PRPC_MESSAGE _pRpcMessage,
  409. DWORD *_pdwStubPhase);
  410. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_GetUniqueDeviceName_Proxy(
  411. IUPnPRegistrar * This,
  412. /* [in] */ BSTR bstrDeviceIdentifier,
  413. /* [in] */ BSTR bstrTemplateUDN,
  414. /* [retval][out] */ BSTR *pbstrUDN);
  415. void __RPC_STUB IUPnPRegistrar_GetUniqueDeviceName_Stub(
  416. IRpcStubBuffer *This,
  417. IRpcChannelBuffer *_pRpcChannelBuffer,
  418. PRPC_MESSAGE _pRpcMessage,
  419. DWORD *_pdwStubPhase);
  420. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_UnregisterDevice_Proxy(
  421. IUPnPRegistrar * This,
  422. /* [in] */ BSTR bstrDeviceIdentifier,
  423. /* [in] */ BOOL fPermanent);
  424. void __RPC_STUB IUPnPRegistrar_UnregisterDevice_Stub(
  425. IRpcStubBuffer *This,
  426. IRpcChannelBuffer *_pRpcChannelBuffer,
  427. PRPC_MESSAGE _pRpcMessage,
  428. DWORD *_pdwStubPhase);
  429. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_UnregisterDeviceProvider_Proxy(
  430. IUPnPRegistrar * This,
  431. /* [in] */ BSTR bstrProviderName);
  432. void __RPC_STUB IUPnPRegistrar_UnregisterDeviceProvider_Stub(
  433. IRpcStubBuffer *This,
  434. IRpcChannelBuffer *_pRpcChannelBuffer,
  435. PRPC_MESSAGE _pRpcMessage,
  436. DWORD *_pdwStubPhase);
  437. #endif /* __IUPnPRegistrar_INTERFACE_DEFINED__ */
  438. #ifndef __IUPnPReregistrar_INTERFACE_DEFINED__
  439. #define __IUPnPReregistrar_INTERFACE_DEFINED__
  440. /* interface IUPnPReregistrar */
  441. /* [object][unique][uuid] */
  442. EXTERN_C const IID IID_IUPnPReregistrar;
  443. #if defined(__cplusplus) && !defined(CINTERFACE)
  444. MIDL_INTERFACE("204810b7-73b2-11d4-bf42-00b0d0118b56")
  445. IUPnPReregistrar : public IUnknown
  446. {
  447. public:
  448. virtual HRESULT STDMETHODCALLTYPE ReregisterDevice(
  449. /* [in] */ BSTR bstrDeviceIdentifier,
  450. /* [in] */ BSTR bstrXMLDesc,
  451. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  452. /* [in] */ BSTR bstrInitString,
  453. /* [in] */ BSTR bstrContainerId,
  454. /* [in] */ BSTR bstrResourcePath,
  455. /* [in] */ long nLifeTime) = 0;
  456. virtual HRESULT STDMETHODCALLTYPE ReregisterRunningDevice(
  457. /* [in] */ BSTR bstrDeviceIdentifier,
  458. /* [in] */ BSTR bstrXMLDesc,
  459. /* [in] */ IUnknown *punkDeviceControl,
  460. /* [in] */ BSTR bstrInitString,
  461. /* [in] */ BSTR bstrResourcePath,
  462. /* [in] */ long nLifeTime) = 0;
  463. };
  464. #else /* C style interface */
  465. typedef struct IUPnPReregistrarVtbl
  466. {
  467. BEGIN_INTERFACE
  468. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  469. IUPnPReregistrar * This,
  470. /* [in] */ REFIID riid,
  471. /* [iid_is][out] */ void **ppvObject);
  472. ULONG ( STDMETHODCALLTYPE *AddRef )(
  473. IUPnPReregistrar * This);
  474. ULONG ( STDMETHODCALLTYPE *Release )(
  475. IUPnPReregistrar * This);
  476. HRESULT ( STDMETHODCALLTYPE *ReregisterDevice )(
  477. IUPnPReregistrar * This,
  478. /* [in] */ BSTR bstrDeviceIdentifier,
  479. /* [in] */ BSTR bstrXMLDesc,
  480. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  481. /* [in] */ BSTR bstrInitString,
  482. /* [in] */ BSTR bstrContainerId,
  483. /* [in] */ BSTR bstrResourcePath,
  484. /* [in] */ long nLifeTime);
  485. HRESULT ( STDMETHODCALLTYPE *ReregisterRunningDevice )(
  486. IUPnPReregistrar * This,
  487. /* [in] */ BSTR bstrDeviceIdentifier,
  488. /* [in] */ BSTR bstrXMLDesc,
  489. /* [in] */ IUnknown *punkDeviceControl,
  490. /* [in] */ BSTR bstrInitString,
  491. /* [in] */ BSTR bstrResourcePath,
  492. /* [in] */ long nLifeTime);
  493. END_INTERFACE
  494. } IUPnPReregistrarVtbl;
  495. interface IUPnPReregistrar
  496. {
  497. CONST_VTBL struct IUPnPReregistrarVtbl *lpVtbl;
  498. };
  499. #ifdef COBJMACROS
  500. #define IUPnPReregistrar_QueryInterface(This,riid,ppvObject) \
  501. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  502. #define IUPnPReregistrar_AddRef(This) \
  503. (This)->lpVtbl -> AddRef(This)
  504. #define IUPnPReregistrar_Release(This) \
  505. (This)->lpVtbl -> Release(This)
  506. #define IUPnPReregistrar_ReregisterDevice(This,bstrDeviceIdentifier,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime) \
  507. (This)->lpVtbl -> ReregisterDevice(This,bstrDeviceIdentifier,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime)
  508. #define IUPnPReregistrar_ReregisterRunningDevice(This,bstrDeviceIdentifier,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime) \
  509. (This)->lpVtbl -> ReregisterRunningDevice(This,bstrDeviceIdentifier,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime)
  510. #endif /* COBJMACROS */
  511. #endif /* C style interface */
  512. HRESULT STDMETHODCALLTYPE IUPnPReregistrar_ReregisterDevice_Proxy(
  513. IUPnPReregistrar * This,
  514. /* [in] */ BSTR bstrDeviceIdentifier,
  515. /* [in] */ BSTR bstrXMLDesc,
  516. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  517. /* [in] */ BSTR bstrInitString,
  518. /* [in] */ BSTR bstrContainerId,
  519. /* [in] */ BSTR bstrResourcePath,
  520. /* [in] */ long nLifeTime);
  521. void __RPC_STUB IUPnPReregistrar_ReregisterDevice_Stub(
  522. IRpcStubBuffer *This,
  523. IRpcChannelBuffer *_pRpcChannelBuffer,
  524. PRPC_MESSAGE _pRpcMessage,
  525. DWORD *_pdwStubPhase);
  526. HRESULT STDMETHODCALLTYPE IUPnPReregistrar_ReregisterRunningDevice_Proxy(
  527. IUPnPReregistrar * This,
  528. /* [in] */ BSTR bstrDeviceIdentifier,
  529. /* [in] */ BSTR bstrXMLDesc,
  530. /* [in] */ IUnknown *punkDeviceControl,
  531. /* [in] */ BSTR bstrInitString,
  532. /* [in] */ BSTR bstrResourcePath,
  533. /* [in] */ long nLifeTime);
  534. void __RPC_STUB IUPnPReregistrar_ReregisterRunningDevice_Stub(
  535. IRpcStubBuffer *This,
  536. IRpcChannelBuffer *_pRpcChannelBuffer,
  537. PRPC_MESSAGE _pRpcMessage,
  538. DWORD *_pdwStubPhase);
  539. #endif /* __IUPnPReregistrar_INTERFACE_DEFINED__ */
  540. #ifndef __IUPnPDeviceControl_INTERFACE_DEFINED__
  541. #define __IUPnPDeviceControl_INTERFACE_DEFINED__
  542. /* interface IUPnPDeviceControl */
  543. /* [object][unique][uuid] */
  544. EXTERN_C const IID IID_IUPnPDeviceControl;
  545. #if defined(__cplusplus) && !defined(CINTERFACE)
  546. MIDL_INTERFACE("204810ba-73b2-11d4-bf42-00b0d0118b56")
  547. IUPnPDeviceControl : public IUnknown
  548. {
  549. public:
  550. virtual HRESULT STDMETHODCALLTYPE Initialize(
  551. /* [in] */ BSTR bstrXMLDesc,
  552. /* [in] */ BSTR bstrDeviceIdentifier,
  553. /* [in] */ BSTR bstrInitString) = 0;
  554. virtual HRESULT STDMETHODCALLTYPE GetServiceObject(
  555. /* [in] */ BSTR bstrUDN,
  556. /* [in] */ BSTR bstrServiceId,
  557. /* [retval][out] */ IDispatch **ppdispService) = 0;
  558. };
  559. #else /* C style interface */
  560. typedef struct IUPnPDeviceControlVtbl
  561. {
  562. BEGIN_INTERFACE
  563. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  564. IUPnPDeviceControl * This,
  565. /* [in] */ REFIID riid,
  566. /* [iid_is][out] */ void **ppvObject);
  567. ULONG ( STDMETHODCALLTYPE *AddRef )(
  568. IUPnPDeviceControl * This);
  569. ULONG ( STDMETHODCALLTYPE *Release )(
  570. IUPnPDeviceControl * This);
  571. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  572. IUPnPDeviceControl * This,
  573. /* [in] */ BSTR bstrXMLDesc,
  574. /* [in] */ BSTR bstrDeviceIdentifier,
  575. /* [in] */ BSTR bstrInitString);
  576. HRESULT ( STDMETHODCALLTYPE *GetServiceObject )(
  577. IUPnPDeviceControl * This,
  578. /* [in] */ BSTR bstrUDN,
  579. /* [in] */ BSTR bstrServiceId,
  580. /* [retval][out] */ IDispatch **ppdispService);
  581. END_INTERFACE
  582. } IUPnPDeviceControlVtbl;
  583. interface IUPnPDeviceControl
  584. {
  585. CONST_VTBL struct IUPnPDeviceControlVtbl *lpVtbl;
  586. };
  587. #ifdef COBJMACROS
  588. #define IUPnPDeviceControl_QueryInterface(This,riid,ppvObject) \
  589. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  590. #define IUPnPDeviceControl_AddRef(This) \
  591. (This)->lpVtbl -> AddRef(This)
  592. #define IUPnPDeviceControl_Release(This) \
  593. (This)->lpVtbl -> Release(This)
  594. #define IUPnPDeviceControl_Initialize(This,bstrXMLDesc,bstrDeviceIdentifier,bstrInitString) \
  595. (This)->lpVtbl -> Initialize(This,bstrXMLDesc,bstrDeviceIdentifier,bstrInitString)
  596. #define IUPnPDeviceControl_GetServiceObject(This,bstrUDN,bstrServiceId,ppdispService) \
  597. (This)->lpVtbl -> GetServiceObject(This,bstrUDN,bstrServiceId,ppdispService)
  598. #endif /* COBJMACROS */
  599. #endif /* C style interface */
  600. HRESULT STDMETHODCALLTYPE IUPnPDeviceControl_Initialize_Proxy(
  601. IUPnPDeviceControl * This,
  602. /* [in] */ BSTR bstrXMLDesc,
  603. /* [in] */ BSTR bstrDeviceIdentifier,
  604. /* [in] */ BSTR bstrInitString);
  605. void __RPC_STUB IUPnPDeviceControl_Initialize_Stub(
  606. IRpcStubBuffer *This,
  607. IRpcChannelBuffer *_pRpcChannelBuffer,
  608. PRPC_MESSAGE _pRpcMessage,
  609. DWORD *_pdwStubPhase);
  610. HRESULT STDMETHODCALLTYPE IUPnPDeviceControl_GetServiceObject_Proxy(
  611. IUPnPDeviceControl * This,
  612. /* [in] */ BSTR bstrUDN,
  613. /* [in] */ BSTR bstrServiceId,
  614. /* [retval][out] */ IDispatch **ppdispService);
  615. void __RPC_STUB IUPnPDeviceControl_GetServiceObject_Stub(
  616. IRpcStubBuffer *This,
  617. IRpcChannelBuffer *_pRpcChannelBuffer,
  618. PRPC_MESSAGE _pRpcMessage,
  619. DWORD *_pdwStubPhase);
  620. #endif /* __IUPnPDeviceControl_INTERFACE_DEFINED__ */
  621. #ifndef __IUPnPDeviceProvider_INTERFACE_DEFINED__
  622. #define __IUPnPDeviceProvider_INTERFACE_DEFINED__
  623. /* interface IUPnPDeviceProvider */
  624. /* [object][unique][uuid] */
  625. EXTERN_C const IID IID_IUPnPDeviceProvider;
  626. #if defined(__cplusplus) && !defined(CINTERFACE)
  627. MIDL_INTERFACE("204810b8-73b2-11d4-bf42-00b0d0118b56")
  628. IUPnPDeviceProvider : public IUnknown
  629. {
  630. public:
  631. virtual HRESULT STDMETHODCALLTYPE Start(
  632. /* [in] */ BSTR bstrInitString) = 0;
  633. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  634. };
  635. #else /* C style interface */
  636. typedef struct IUPnPDeviceProviderVtbl
  637. {
  638. BEGIN_INTERFACE
  639. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  640. IUPnPDeviceProvider * This,
  641. /* [in] */ REFIID riid,
  642. /* [iid_is][out] */ void **ppvObject);
  643. ULONG ( STDMETHODCALLTYPE *AddRef )(
  644. IUPnPDeviceProvider * This);
  645. ULONG ( STDMETHODCALLTYPE *Release )(
  646. IUPnPDeviceProvider * This);
  647. HRESULT ( STDMETHODCALLTYPE *Start )(
  648. IUPnPDeviceProvider * This,
  649. /* [in] */ BSTR bstrInitString);
  650. HRESULT ( STDMETHODCALLTYPE *Stop )(
  651. IUPnPDeviceProvider * This);
  652. END_INTERFACE
  653. } IUPnPDeviceProviderVtbl;
  654. interface IUPnPDeviceProvider
  655. {
  656. CONST_VTBL struct IUPnPDeviceProviderVtbl *lpVtbl;
  657. };
  658. #ifdef COBJMACROS
  659. #define IUPnPDeviceProvider_QueryInterface(This,riid,ppvObject) \
  660. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  661. #define IUPnPDeviceProvider_AddRef(This) \
  662. (This)->lpVtbl -> AddRef(This)
  663. #define IUPnPDeviceProvider_Release(This) \
  664. (This)->lpVtbl -> Release(This)
  665. #define IUPnPDeviceProvider_Start(This,bstrInitString) \
  666. (This)->lpVtbl -> Start(This,bstrInitString)
  667. #define IUPnPDeviceProvider_Stop(This) \
  668. (This)->lpVtbl -> Stop(This)
  669. #endif /* COBJMACROS */
  670. #endif /* C style interface */
  671. HRESULT STDMETHODCALLTYPE IUPnPDeviceProvider_Start_Proxy(
  672. IUPnPDeviceProvider * This,
  673. /* [in] */ BSTR bstrInitString);
  674. void __RPC_STUB IUPnPDeviceProvider_Start_Stub(
  675. IRpcStubBuffer *This,
  676. IRpcChannelBuffer *_pRpcChannelBuffer,
  677. PRPC_MESSAGE _pRpcMessage,
  678. DWORD *_pdwStubPhase);
  679. HRESULT STDMETHODCALLTYPE IUPnPDeviceProvider_Stop_Proxy(
  680. IUPnPDeviceProvider * This);
  681. void __RPC_STUB IUPnPDeviceProvider_Stop_Stub(
  682. IRpcStubBuffer *This,
  683. IRpcChannelBuffer *_pRpcChannelBuffer,
  684. PRPC_MESSAGE _pRpcMessage,
  685. DWORD *_pdwStubPhase);
  686. #endif /* __IUPnPDeviceProvider_INTERFACE_DEFINED__ */
  687. #ifndef __UPnPHostLib_LIBRARY_DEFINED__
  688. #define __UPnPHostLib_LIBRARY_DEFINED__
  689. /* library UPnPHostLib */
  690. /* [helpstring][version][uuid] */
  691. EXTERN_C const IID LIBID_UPnPHostLib;
  692. EXTERN_C const CLSID CLSID_UPnPRegistrar;
  693. #ifdef __cplusplus
  694. class DECLSPEC_UUID("204810b9-73b2-11d4-bf42-00b0d0118b56")
  695. UPnPRegistrar;
  696. #endif
  697. #endif /* __UPnPHostLib_LIBRARY_DEFINED__ */
  698. /* Additional Prototypes for ALL interfaces */
  699. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  700. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  701. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  702. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  703. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  704. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  705. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  706. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  707. /* end of Additional Prototypes */
  708. #ifdef __cplusplus
  709. }
  710. #endif
  711. #endif