upnphost.h 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249
  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 upnphost.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 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 __IUPnPRemoteEndpointInfo_FWD_DEFINED__
  57. #define __IUPnPRemoteEndpointInfo_FWD_DEFINED__
  58. typedef interface IUPnPRemoteEndpointInfo IUPnPRemoteEndpointInfo;
  59. #endif /* __IUPnPRemoteEndpointInfo_FWD_DEFINED__ */
  60. #ifndef __IUPnPEventSink_FWD_DEFINED__
  61. #define __IUPnPEventSink_FWD_DEFINED__
  62. typedef interface IUPnPEventSink IUPnPEventSink;
  63. #endif /* __IUPnPEventSink_FWD_DEFINED__ */
  64. #ifndef __IUPnPEventSource_FWD_DEFINED__
  65. #define __IUPnPEventSource_FWD_DEFINED__
  66. typedef interface IUPnPEventSource IUPnPEventSource;
  67. #endif /* __IUPnPEventSource_FWD_DEFINED__ */
  68. #ifndef __IUPnPRegistrar_FWD_DEFINED__
  69. #define __IUPnPRegistrar_FWD_DEFINED__
  70. typedef interface IUPnPRegistrar IUPnPRegistrar;
  71. #endif /* __IUPnPRegistrar_FWD_DEFINED__ */
  72. #ifndef __IUPnPReregistrar_FWD_DEFINED__
  73. #define __IUPnPReregistrar_FWD_DEFINED__
  74. typedef interface IUPnPReregistrar IUPnPReregistrar;
  75. #endif /* __IUPnPReregistrar_FWD_DEFINED__ */
  76. #ifndef __IUPnPDeviceControl_FWD_DEFINED__
  77. #define __IUPnPDeviceControl_FWD_DEFINED__
  78. typedef interface IUPnPDeviceControl IUPnPDeviceControl;
  79. #endif /* __IUPnPDeviceControl_FWD_DEFINED__ */
  80. #ifndef __IUPnPDeviceProvider_FWD_DEFINED__
  81. #define __IUPnPDeviceProvider_FWD_DEFINED__
  82. typedef interface IUPnPDeviceProvider IUPnPDeviceProvider;
  83. #endif /* __IUPnPDeviceProvider_FWD_DEFINED__ */
  84. #ifndef __IUPnPRemoteEndpointInfo_FWD_DEFINED__
  85. #define __IUPnPRemoteEndpointInfo_FWD_DEFINED__
  86. typedef interface IUPnPRemoteEndpointInfo IUPnPRemoteEndpointInfo;
  87. #endif /* __IUPnPRemoteEndpointInfo_FWD_DEFINED__ */
  88. #ifndef __UPnPRegistrar_FWD_DEFINED__
  89. #define __UPnPRegistrar_FWD_DEFINED__
  90. #ifdef __cplusplus
  91. typedef class UPnPRegistrar UPnPRegistrar;
  92. #else
  93. typedef struct UPnPRegistrar UPnPRegistrar;
  94. #endif /* __cplusplus */
  95. #endif /* __UPnPRegistrar_FWD_DEFINED__ */
  96. #ifndef __UPnPRemoteEndpointInfo_FWD_DEFINED__
  97. #define __UPnPRemoteEndpointInfo_FWD_DEFINED__
  98. #ifdef __cplusplus
  99. typedef class UPnPRemoteEndpointInfo UPnPRemoteEndpointInfo;
  100. #else
  101. typedef struct UPnPRemoteEndpointInfo UPnPRemoteEndpointInfo;
  102. #endif /* __cplusplus */
  103. #endif /* __UPnPRemoteEndpointInfo_FWD_DEFINED__ */
  104. /* header files for imported files */
  105. #include "ocidl.h"
  106. #ifdef __cplusplus
  107. extern "C"{
  108. #endif
  109. void * __RPC_USER MIDL_user_allocate(size_t);
  110. void __RPC_USER MIDL_user_free( void * );
  111. /* interface __MIDL_itf_upnphost_0000 */
  112. /* [local] */
  113. //+-------------------------------------------------------------------------
  114. //
  115. // Microsoft Windows
  116. // Copyright (c) Microsoft Corporation. All rights reserved.
  117. //
  118. //--------------------------------------------------------------------------
  119. #define UPNP_E_REQUIRED_ELEMENT_ERROR MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA020)
  120. #define UPNP_E_DUPLICATE_NOT_ALLOWED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA021)
  121. #define UPNP_E_DUPLICATE_SERVICE_ID MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA022)
  122. #define UPNP_E_INVALID_DESCRIPTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA023)
  123. #define UPNP_E_INVALID_SERVICE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA024)
  124. #define UPNP_E_INVALID_ICON MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA025)
  125. #define UPNP_E_INVALID_XML MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA026)
  126. #define UPNP_E_INVALID_ROOT_NAMESPACE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA027)
  127. #define UPNP_E_SUFFIX_TOO_LONG MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA028)
  128. #define UPNP_E_URLBASE_PRESENT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA029)
  129. #define UPNP_E_VALUE_TOO_LONG MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA030)
  130. #define UPNP_E_DEVICE_RUNNING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xA031)
  131. extern RPC_IF_HANDLE __MIDL_itf_upnphost_0000_v0_0_c_ifspec;
  132. extern RPC_IF_HANDLE __MIDL_itf_upnphost_0000_v0_0_s_ifspec;
  133. #ifndef __IUPnPEventSink_INTERFACE_DEFINED__
  134. #define __IUPnPEventSink_INTERFACE_DEFINED__
  135. /* interface IUPnPEventSink */
  136. /* [object][unique][uuid] */
  137. EXTERN_C const IID IID_IUPnPEventSink;
  138. #if defined(__cplusplus) && !defined(CINTERFACE)
  139. MIDL_INTERFACE("204810b4-73b2-11d4-bf42-00b0d0118b56")
  140. IUPnPEventSink : public IUnknown
  141. {
  142. public:
  143. virtual /* [hidden][helpstring] */ HRESULT STDMETHODCALLTYPE OnStateChanged(
  144. /* [in] */ DWORD cChanges,
  145. /* [size_is][in] */ DISPID rgdispidChanges[ ]) = 0;
  146. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OnStateChangedSafe(
  147. /* [in] */ VARIANT varsadispidChanges) = 0;
  148. };
  149. #else /* C style interface */
  150. typedef struct IUPnPEventSinkVtbl
  151. {
  152. BEGIN_INTERFACE
  153. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  154. IUPnPEventSink * This,
  155. /* [in] */ REFIID riid,
  156. /* [iid_is][out] */ void **ppvObject);
  157. ULONG ( STDMETHODCALLTYPE *AddRef )(
  158. IUPnPEventSink * This);
  159. ULONG ( STDMETHODCALLTYPE *Release )(
  160. IUPnPEventSink * This);
  161. /* [hidden][helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnStateChanged )(
  162. IUPnPEventSink * This,
  163. /* [in] */ DWORD cChanges,
  164. /* [size_is][in] */ DISPID rgdispidChanges[ ]);
  165. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *OnStateChangedSafe )(
  166. IUPnPEventSink * This,
  167. /* [in] */ VARIANT varsadispidChanges);
  168. END_INTERFACE
  169. } IUPnPEventSinkVtbl;
  170. interface IUPnPEventSink
  171. {
  172. CONST_VTBL struct IUPnPEventSinkVtbl *lpVtbl;
  173. };
  174. #ifdef COBJMACROS
  175. #define IUPnPEventSink_QueryInterface(This,riid,ppvObject) \
  176. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  177. #define IUPnPEventSink_AddRef(This) \
  178. (This)->lpVtbl -> AddRef(This)
  179. #define IUPnPEventSink_Release(This) \
  180. (This)->lpVtbl -> Release(This)
  181. #define IUPnPEventSink_OnStateChanged(This,cChanges,rgdispidChanges) \
  182. (This)->lpVtbl -> OnStateChanged(This,cChanges,rgdispidChanges)
  183. #define IUPnPEventSink_OnStateChangedSafe(This,varsadispidChanges) \
  184. (This)->lpVtbl -> OnStateChangedSafe(This,varsadispidChanges)
  185. #endif /* COBJMACROS */
  186. #endif /* C style interface */
  187. /* [hidden][helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSink_OnStateChanged_Proxy(
  188. IUPnPEventSink * This,
  189. /* [in] */ DWORD cChanges,
  190. /* [size_is][in] */ DISPID rgdispidChanges[ ]);
  191. void __RPC_STUB IUPnPEventSink_OnStateChanged_Stub(
  192. IRpcStubBuffer *This,
  193. IRpcChannelBuffer *_pRpcChannelBuffer,
  194. PRPC_MESSAGE _pRpcMessage,
  195. DWORD *_pdwStubPhase);
  196. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSink_OnStateChangedSafe_Proxy(
  197. IUPnPEventSink * This,
  198. /* [in] */ VARIANT varsadispidChanges);
  199. void __RPC_STUB IUPnPEventSink_OnStateChangedSafe_Stub(
  200. IRpcStubBuffer *This,
  201. IRpcChannelBuffer *_pRpcChannelBuffer,
  202. PRPC_MESSAGE _pRpcMessage,
  203. DWORD *_pdwStubPhase);
  204. #endif /* __IUPnPEventSink_INTERFACE_DEFINED__ */
  205. #ifndef __IUPnPEventSource_INTERFACE_DEFINED__
  206. #define __IUPnPEventSource_INTERFACE_DEFINED__
  207. /* interface IUPnPEventSource */
  208. /* [object][unique][uuid] */
  209. EXTERN_C const IID IID_IUPnPEventSource;
  210. #if defined(__cplusplus) && !defined(CINTERFACE)
  211. MIDL_INTERFACE("204810b5-73b2-11d4-bf42-00b0d0118b56")
  212. IUPnPEventSource : public IUnknown
  213. {
  214. public:
  215. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Advise(
  216. /* [in] */ IUPnPEventSink *pesSubscriber) = 0;
  217. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Unadvise(
  218. /* [in] */ IUPnPEventSink *pesSubscriber) = 0;
  219. };
  220. #else /* C style interface */
  221. typedef struct IUPnPEventSourceVtbl
  222. {
  223. BEGIN_INTERFACE
  224. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  225. IUPnPEventSource * This,
  226. /* [in] */ REFIID riid,
  227. /* [iid_is][out] */ void **ppvObject);
  228. ULONG ( STDMETHODCALLTYPE *AddRef )(
  229. IUPnPEventSource * This);
  230. ULONG ( STDMETHODCALLTYPE *Release )(
  231. IUPnPEventSource * This);
  232. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Advise )(
  233. IUPnPEventSource * This,
  234. /* [in] */ IUPnPEventSink *pesSubscriber);
  235. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  236. IUPnPEventSource * This,
  237. /* [in] */ IUPnPEventSink *pesSubscriber);
  238. END_INTERFACE
  239. } IUPnPEventSourceVtbl;
  240. interface IUPnPEventSource
  241. {
  242. CONST_VTBL struct IUPnPEventSourceVtbl *lpVtbl;
  243. };
  244. #ifdef COBJMACROS
  245. #define IUPnPEventSource_QueryInterface(This,riid,ppvObject) \
  246. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  247. #define IUPnPEventSource_AddRef(This) \
  248. (This)->lpVtbl -> AddRef(This)
  249. #define IUPnPEventSource_Release(This) \
  250. (This)->lpVtbl -> Release(This)
  251. #define IUPnPEventSource_Advise(This,pesSubscriber) \
  252. (This)->lpVtbl -> Advise(This,pesSubscriber)
  253. #define IUPnPEventSource_Unadvise(This,pesSubscriber) \
  254. (This)->lpVtbl -> Unadvise(This,pesSubscriber)
  255. #endif /* COBJMACROS */
  256. #endif /* C style interface */
  257. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSource_Advise_Proxy(
  258. IUPnPEventSource * This,
  259. /* [in] */ IUPnPEventSink *pesSubscriber);
  260. void __RPC_STUB IUPnPEventSource_Advise_Stub(
  261. IRpcStubBuffer *This,
  262. IRpcChannelBuffer *_pRpcChannelBuffer,
  263. PRPC_MESSAGE _pRpcMessage,
  264. DWORD *_pdwStubPhase);
  265. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IUPnPEventSource_Unadvise_Proxy(
  266. IUPnPEventSource * This,
  267. /* [in] */ IUPnPEventSink *pesSubscriber);
  268. void __RPC_STUB IUPnPEventSource_Unadvise_Stub(
  269. IRpcStubBuffer *This,
  270. IRpcChannelBuffer *_pRpcChannelBuffer,
  271. PRPC_MESSAGE _pRpcMessage,
  272. DWORD *_pdwStubPhase);
  273. #endif /* __IUPnPEventSource_INTERFACE_DEFINED__ */
  274. #ifndef __IUPnPRegistrar_INTERFACE_DEFINED__
  275. #define __IUPnPRegistrar_INTERFACE_DEFINED__
  276. /* interface IUPnPRegistrar */
  277. /* [object][unique][uuid] */
  278. EXTERN_C const IID IID_IUPnPRegistrar;
  279. #if defined(__cplusplus) && !defined(CINTERFACE)
  280. MIDL_INTERFACE("204810b6-73b2-11d4-bf42-00b0d0118b56")
  281. IUPnPRegistrar : public IUnknown
  282. {
  283. public:
  284. virtual HRESULT STDMETHODCALLTYPE RegisterDevice(
  285. /* [in] */ BSTR bstrXMLDesc,
  286. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  287. /* [in] */ BSTR bstrInitString,
  288. /* [in] */ BSTR bstrContainerId,
  289. /* [in] */ BSTR bstrResourcePath,
  290. /* [in] */ long nLifeTime,
  291. /* [retval][out] */ BSTR *pbstrDeviceIdentifier) = 0;
  292. virtual HRESULT STDMETHODCALLTYPE RegisterRunningDevice(
  293. /* [in] */ BSTR bstrXMLDesc,
  294. /* [in] */ IUnknown *punkDeviceControl,
  295. /* [in] */ BSTR bstrInitString,
  296. /* [in] */ BSTR bstrResourcePath,
  297. /* [in] */ long nLifeTime,
  298. /* [retval][out] */ BSTR *pbstrDeviceIdentifier) = 0;
  299. virtual HRESULT STDMETHODCALLTYPE RegisterDeviceProvider(
  300. /* [in] */ BSTR bstrProviderName,
  301. /* [in] */ BSTR bstrProgIDProviderClass,
  302. /* [in] */ BSTR bstrInitString,
  303. /* [in] */ BSTR bstrContainerId) = 0;
  304. virtual HRESULT STDMETHODCALLTYPE GetUniqueDeviceName(
  305. /* [in] */ BSTR bstrDeviceIdentifier,
  306. /* [in] */ BSTR bstrTemplateUDN,
  307. /* [retval][out] */ BSTR *pbstrUDN) = 0;
  308. virtual HRESULT STDMETHODCALLTYPE UnregisterDevice(
  309. /* [in] */ BSTR bstrDeviceIdentifier,
  310. /* [in] */ BOOL fPermanent) = 0;
  311. virtual HRESULT STDMETHODCALLTYPE UnregisterDeviceProvider(
  312. /* [in] */ BSTR bstrProviderName) = 0;
  313. };
  314. #else /* C style interface */
  315. typedef struct IUPnPRegistrarVtbl
  316. {
  317. BEGIN_INTERFACE
  318. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  319. IUPnPRegistrar * This,
  320. /* [in] */ REFIID riid,
  321. /* [iid_is][out] */ void **ppvObject);
  322. ULONG ( STDMETHODCALLTYPE *AddRef )(
  323. IUPnPRegistrar * This);
  324. ULONG ( STDMETHODCALLTYPE *Release )(
  325. IUPnPRegistrar * This);
  326. HRESULT ( STDMETHODCALLTYPE *RegisterDevice )(
  327. IUPnPRegistrar * This,
  328. /* [in] */ BSTR bstrXMLDesc,
  329. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  330. /* [in] */ BSTR bstrInitString,
  331. /* [in] */ BSTR bstrContainerId,
  332. /* [in] */ BSTR bstrResourcePath,
  333. /* [in] */ long nLifeTime,
  334. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  335. HRESULT ( STDMETHODCALLTYPE *RegisterRunningDevice )(
  336. IUPnPRegistrar * This,
  337. /* [in] */ BSTR bstrXMLDesc,
  338. /* [in] */ IUnknown *punkDeviceControl,
  339. /* [in] */ BSTR bstrInitString,
  340. /* [in] */ BSTR bstrResourcePath,
  341. /* [in] */ long nLifeTime,
  342. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  343. HRESULT ( STDMETHODCALLTYPE *RegisterDeviceProvider )(
  344. IUPnPRegistrar * This,
  345. /* [in] */ BSTR bstrProviderName,
  346. /* [in] */ BSTR bstrProgIDProviderClass,
  347. /* [in] */ BSTR bstrInitString,
  348. /* [in] */ BSTR bstrContainerId);
  349. HRESULT ( STDMETHODCALLTYPE *GetUniqueDeviceName )(
  350. IUPnPRegistrar * This,
  351. /* [in] */ BSTR bstrDeviceIdentifier,
  352. /* [in] */ BSTR bstrTemplateUDN,
  353. /* [retval][out] */ BSTR *pbstrUDN);
  354. HRESULT ( STDMETHODCALLTYPE *UnregisterDevice )(
  355. IUPnPRegistrar * This,
  356. /* [in] */ BSTR bstrDeviceIdentifier,
  357. /* [in] */ BOOL fPermanent);
  358. HRESULT ( STDMETHODCALLTYPE *UnregisterDeviceProvider )(
  359. IUPnPRegistrar * This,
  360. /* [in] */ BSTR bstrProviderName);
  361. END_INTERFACE
  362. } IUPnPRegistrarVtbl;
  363. interface IUPnPRegistrar
  364. {
  365. CONST_VTBL struct IUPnPRegistrarVtbl *lpVtbl;
  366. };
  367. #ifdef COBJMACROS
  368. #define IUPnPRegistrar_QueryInterface(This,riid,ppvObject) \
  369. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  370. #define IUPnPRegistrar_AddRef(This) \
  371. (This)->lpVtbl -> AddRef(This)
  372. #define IUPnPRegistrar_Release(This) \
  373. (This)->lpVtbl -> Release(This)
  374. #define IUPnPRegistrar_RegisterDevice(This,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier) \
  375. (This)->lpVtbl -> RegisterDevice(This,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier)
  376. #define IUPnPRegistrar_RegisterRunningDevice(This,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier) \
  377. (This)->lpVtbl -> RegisterRunningDevice(This,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime,pbstrDeviceIdentifier)
  378. #define IUPnPRegistrar_RegisterDeviceProvider(This,bstrProviderName,bstrProgIDProviderClass,bstrInitString,bstrContainerId) \
  379. (This)->lpVtbl -> RegisterDeviceProvider(This,bstrProviderName,bstrProgIDProviderClass,bstrInitString,bstrContainerId)
  380. #define IUPnPRegistrar_GetUniqueDeviceName(This,bstrDeviceIdentifier,bstrTemplateUDN,pbstrUDN) \
  381. (This)->lpVtbl -> GetUniqueDeviceName(This,bstrDeviceIdentifier,bstrTemplateUDN,pbstrUDN)
  382. #define IUPnPRegistrar_UnregisterDevice(This,bstrDeviceIdentifier,fPermanent) \
  383. (This)->lpVtbl -> UnregisterDevice(This,bstrDeviceIdentifier,fPermanent)
  384. #define IUPnPRegistrar_UnregisterDeviceProvider(This,bstrProviderName) \
  385. (This)->lpVtbl -> UnregisterDeviceProvider(This,bstrProviderName)
  386. #endif /* COBJMACROS */
  387. #endif /* C style interface */
  388. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_RegisterDevice_Proxy(
  389. IUPnPRegistrar * This,
  390. /* [in] */ BSTR bstrXMLDesc,
  391. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  392. /* [in] */ BSTR bstrInitString,
  393. /* [in] */ BSTR bstrContainerId,
  394. /* [in] */ BSTR bstrResourcePath,
  395. /* [in] */ long nLifeTime,
  396. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  397. void __RPC_STUB IUPnPRegistrar_RegisterDevice_Stub(
  398. IRpcStubBuffer *This,
  399. IRpcChannelBuffer *_pRpcChannelBuffer,
  400. PRPC_MESSAGE _pRpcMessage,
  401. DWORD *_pdwStubPhase);
  402. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_RegisterRunningDevice_Proxy(
  403. IUPnPRegistrar * This,
  404. /* [in] */ BSTR bstrXMLDesc,
  405. /* [in] */ IUnknown *punkDeviceControl,
  406. /* [in] */ BSTR bstrInitString,
  407. /* [in] */ BSTR bstrResourcePath,
  408. /* [in] */ long nLifeTime,
  409. /* [retval][out] */ BSTR *pbstrDeviceIdentifier);
  410. void __RPC_STUB IUPnPRegistrar_RegisterRunningDevice_Stub(
  411. IRpcStubBuffer *This,
  412. IRpcChannelBuffer *_pRpcChannelBuffer,
  413. PRPC_MESSAGE _pRpcMessage,
  414. DWORD *_pdwStubPhase);
  415. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_RegisterDeviceProvider_Proxy(
  416. IUPnPRegistrar * This,
  417. /* [in] */ BSTR bstrProviderName,
  418. /* [in] */ BSTR bstrProgIDProviderClass,
  419. /* [in] */ BSTR bstrInitString,
  420. /* [in] */ BSTR bstrContainerId);
  421. void __RPC_STUB IUPnPRegistrar_RegisterDeviceProvider_Stub(
  422. IRpcStubBuffer *This,
  423. IRpcChannelBuffer *_pRpcChannelBuffer,
  424. PRPC_MESSAGE _pRpcMessage,
  425. DWORD *_pdwStubPhase);
  426. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_GetUniqueDeviceName_Proxy(
  427. IUPnPRegistrar * This,
  428. /* [in] */ BSTR bstrDeviceIdentifier,
  429. /* [in] */ BSTR bstrTemplateUDN,
  430. /* [retval][out] */ BSTR *pbstrUDN);
  431. void __RPC_STUB IUPnPRegistrar_GetUniqueDeviceName_Stub(
  432. IRpcStubBuffer *This,
  433. IRpcChannelBuffer *_pRpcChannelBuffer,
  434. PRPC_MESSAGE _pRpcMessage,
  435. DWORD *_pdwStubPhase);
  436. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_UnregisterDevice_Proxy(
  437. IUPnPRegistrar * This,
  438. /* [in] */ BSTR bstrDeviceIdentifier,
  439. /* [in] */ BOOL fPermanent);
  440. void __RPC_STUB IUPnPRegistrar_UnregisterDevice_Stub(
  441. IRpcStubBuffer *This,
  442. IRpcChannelBuffer *_pRpcChannelBuffer,
  443. PRPC_MESSAGE _pRpcMessage,
  444. DWORD *_pdwStubPhase);
  445. HRESULT STDMETHODCALLTYPE IUPnPRegistrar_UnregisterDeviceProvider_Proxy(
  446. IUPnPRegistrar * This,
  447. /* [in] */ BSTR bstrProviderName);
  448. void __RPC_STUB IUPnPRegistrar_UnregisterDeviceProvider_Stub(
  449. IRpcStubBuffer *This,
  450. IRpcChannelBuffer *_pRpcChannelBuffer,
  451. PRPC_MESSAGE _pRpcMessage,
  452. DWORD *_pdwStubPhase);
  453. #endif /* __IUPnPRegistrar_INTERFACE_DEFINED__ */
  454. #ifndef __IUPnPReregistrar_INTERFACE_DEFINED__
  455. #define __IUPnPReregistrar_INTERFACE_DEFINED__
  456. /* interface IUPnPReregistrar */
  457. /* [object][unique][uuid] */
  458. EXTERN_C const IID IID_IUPnPReregistrar;
  459. #if defined(__cplusplus) && !defined(CINTERFACE)
  460. MIDL_INTERFACE("204810b7-73b2-11d4-bf42-00b0d0118b56")
  461. IUPnPReregistrar : public IUnknown
  462. {
  463. public:
  464. virtual HRESULT STDMETHODCALLTYPE ReregisterDevice(
  465. /* [in] */ BSTR bstrDeviceIdentifier,
  466. /* [in] */ BSTR bstrXMLDesc,
  467. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  468. /* [in] */ BSTR bstrInitString,
  469. /* [in] */ BSTR bstrContainerId,
  470. /* [in] */ BSTR bstrResourcePath,
  471. /* [in] */ long nLifeTime) = 0;
  472. virtual HRESULT STDMETHODCALLTYPE ReregisterRunningDevice(
  473. /* [in] */ BSTR bstrDeviceIdentifier,
  474. /* [in] */ BSTR bstrXMLDesc,
  475. /* [in] */ IUnknown *punkDeviceControl,
  476. /* [in] */ BSTR bstrInitString,
  477. /* [in] */ BSTR bstrResourcePath,
  478. /* [in] */ long nLifeTime) = 0;
  479. };
  480. #else /* C style interface */
  481. typedef struct IUPnPReregistrarVtbl
  482. {
  483. BEGIN_INTERFACE
  484. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  485. IUPnPReregistrar * This,
  486. /* [in] */ REFIID riid,
  487. /* [iid_is][out] */ void **ppvObject);
  488. ULONG ( STDMETHODCALLTYPE *AddRef )(
  489. IUPnPReregistrar * This);
  490. ULONG ( STDMETHODCALLTYPE *Release )(
  491. IUPnPReregistrar * This);
  492. HRESULT ( STDMETHODCALLTYPE *ReregisterDevice )(
  493. IUPnPReregistrar * This,
  494. /* [in] */ BSTR bstrDeviceIdentifier,
  495. /* [in] */ BSTR bstrXMLDesc,
  496. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  497. /* [in] */ BSTR bstrInitString,
  498. /* [in] */ BSTR bstrContainerId,
  499. /* [in] */ BSTR bstrResourcePath,
  500. /* [in] */ long nLifeTime);
  501. HRESULT ( STDMETHODCALLTYPE *ReregisterRunningDevice )(
  502. IUPnPReregistrar * This,
  503. /* [in] */ BSTR bstrDeviceIdentifier,
  504. /* [in] */ BSTR bstrXMLDesc,
  505. /* [in] */ IUnknown *punkDeviceControl,
  506. /* [in] */ BSTR bstrInitString,
  507. /* [in] */ BSTR bstrResourcePath,
  508. /* [in] */ long nLifeTime);
  509. END_INTERFACE
  510. } IUPnPReregistrarVtbl;
  511. interface IUPnPReregistrar
  512. {
  513. CONST_VTBL struct IUPnPReregistrarVtbl *lpVtbl;
  514. };
  515. #ifdef COBJMACROS
  516. #define IUPnPReregistrar_QueryInterface(This,riid,ppvObject) \
  517. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  518. #define IUPnPReregistrar_AddRef(This) \
  519. (This)->lpVtbl -> AddRef(This)
  520. #define IUPnPReregistrar_Release(This) \
  521. (This)->lpVtbl -> Release(This)
  522. #define IUPnPReregistrar_ReregisterDevice(This,bstrDeviceIdentifier,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime) \
  523. (This)->lpVtbl -> ReregisterDevice(This,bstrDeviceIdentifier,bstrXMLDesc,bstrProgIDDeviceControlClass,bstrInitString,bstrContainerId,bstrResourcePath,nLifeTime)
  524. #define IUPnPReregistrar_ReregisterRunningDevice(This,bstrDeviceIdentifier,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime) \
  525. (This)->lpVtbl -> ReregisterRunningDevice(This,bstrDeviceIdentifier,bstrXMLDesc,punkDeviceControl,bstrInitString,bstrResourcePath,nLifeTime)
  526. #endif /* COBJMACROS */
  527. #endif /* C style interface */
  528. HRESULT STDMETHODCALLTYPE IUPnPReregistrar_ReregisterDevice_Proxy(
  529. IUPnPReregistrar * This,
  530. /* [in] */ BSTR bstrDeviceIdentifier,
  531. /* [in] */ BSTR bstrXMLDesc,
  532. /* [in] */ BSTR bstrProgIDDeviceControlClass,
  533. /* [in] */ BSTR bstrInitString,
  534. /* [in] */ BSTR bstrContainerId,
  535. /* [in] */ BSTR bstrResourcePath,
  536. /* [in] */ long nLifeTime);
  537. void __RPC_STUB IUPnPReregistrar_ReregisterDevice_Stub(
  538. IRpcStubBuffer *This,
  539. IRpcChannelBuffer *_pRpcChannelBuffer,
  540. PRPC_MESSAGE _pRpcMessage,
  541. DWORD *_pdwStubPhase);
  542. HRESULT STDMETHODCALLTYPE IUPnPReregistrar_ReregisterRunningDevice_Proxy(
  543. IUPnPReregistrar * This,
  544. /* [in] */ BSTR bstrDeviceIdentifier,
  545. /* [in] */ BSTR bstrXMLDesc,
  546. /* [in] */ IUnknown *punkDeviceControl,
  547. /* [in] */ BSTR bstrInitString,
  548. /* [in] */ BSTR bstrResourcePath,
  549. /* [in] */ long nLifeTime);
  550. void __RPC_STUB IUPnPReregistrar_ReregisterRunningDevice_Stub(
  551. IRpcStubBuffer *This,
  552. IRpcChannelBuffer *_pRpcChannelBuffer,
  553. PRPC_MESSAGE _pRpcMessage,
  554. DWORD *_pdwStubPhase);
  555. #endif /* __IUPnPReregistrar_INTERFACE_DEFINED__ */
  556. #ifndef __IUPnPDeviceControl_INTERFACE_DEFINED__
  557. #define __IUPnPDeviceControl_INTERFACE_DEFINED__
  558. /* interface IUPnPDeviceControl */
  559. /* [object][unique][uuid] */
  560. EXTERN_C const IID IID_IUPnPDeviceControl;
  561. #if defined(__cplusplus) && !defined(CINTERFACE)
  562. MIDL_INTERFACE("204810ba-73b2-11d4-bf42-00b0d0118b56")
  563. IUPnPDeviceControl : public IUnknown
  564. {
  565. public:
  566. virtual HRESULT STDMETHODCALLTYPE Initialize(
  567. /* [in] */ BSTR bstrXMLDesc,
  568. /* [in] */ BSTR bstrDeviceIdentifier,
  569. /* [in] */ BSTR bstrInitString) = 0;
  570. virtual HRESULT STDMETHODCALLTYPE GetServiceObject(
  571. /* [in] */ BSTR bstrUDN,
  572. /* [in] */ BSTR bstrServiceId,
  573. /* [retval][out] */ IDispatch **ppdispService) = 0;
  574. };
  575. #else /* C style interface */
  576. typedef struct IUPnPDeviceControlVtbl
  577. {
  578. BEGIN_INTERFACE
  579. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  580. IUPnPDeviceControl * This,
  581. /* [in] */ REFIID riid,
  582. /* [iid_is][out] */ void **ppvObject);
  583. ULONG ( STDMETHODCALLTYPE *AddRef )(
  584. IUPnPDeviceControl * This);
  585. ULONG ( STDMETHODCALLTYPE *Release )(
  586. IUPnPDeviceControl * This);
  587. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  588. IUPnPDeviceControl * This,
  589. /* [in] */ BSTR bstrXMLDesc,
  590. /* [in] */ BSTR bstrDeviceIdentifier,
  591. /* [in] */ BSTR bstrInitString);
  592. HRESULT ( STDMETHODCALLTYPE *GetServiceObject )(
  593. IUPnPDeviceControl * This,
  594. /* [in] */ BSTR bstrUDN,
  595. /* [in] */ BSTR bstrServiceId,
  596. /* [retval][out] */ IDispatch **ppdispService);
  597. END_INTERFACE
  598. } IUPnPDeviceControlVtbl;
  599. interface IUPnPDeviceControl
  600. {
  601. CONST_VTBL struct IUPnPDeviceControlVtbl *lpVtbl;
  602. };
  603. #ifdef COBJMACROS
  604. #define IUPnPDeviceControl_QueryInterface(This,riid,ppvObject) \
  605. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  606. #define IUPnPDeviceControl_AddRef(This) \
  607. (This)->lpVtbl -> AddRef(This)
  608. #define IUPnPDeviceControl_Release(This) \
  609. (This)->lpVtbl -> Release(This)
  610. #define IUPnPDeviceControl_Initialize(This,bstrXMLDesc,bstrDeviceIdentifier,bstrInitString) \
  611. (This)->lpVtbl -> Initialize(This,bstrXMLDesc,bstrDeviceIdentifier,bstrInitString)
  612. #define IUPnPDeviceControl_GetServiceObject(This,bstrUDN,bstrServiceId,ppdispService) \
  613. (This)->lpVtbl -> GetServiceObject(This,bstrUDN,bstrServiceId,ppdispService)
  614. #endif /* COBJMACROS */
  615. #endif /* C style interface */
  616. HRESULT STDMETHODCALLTYPE IUPnPDeviceControl_Initialize_Proxy(
  617. IUPnPDeviceControl * This,
  618. /* [in] */ BSTR bstrXMLDesc,
  619. /* [in] */ BSTR bstrDeviceIdentifier,
  620. /* [in] */ BSTR bstrInitString);
  621. void __RPC_STUB IUPnPDeviceControl_Initialize_Stub(
  622. IRpcStubBuffer *This,
  623. IRpcChannelBuffer *_pRpcChannelBuffer,
  624. PRPC_MESSAGE _pRpcMessage,
  625. DWORD *_pdwStubPhase);
  626. HRESULT STDMETHODCALLTYPE IUPnPDeviceControl_GetServiceObject_Proxy(
  627. IUPnPDeviceControl * This,
  628. /* [in] */ BSTR bstrUDN,
  629. /* [in] */ BSTR bstrServiceId,
  630. /* [retval][out] */ IDispatch **ppdispService);
  631. void __RPC_STUB IUPnPDeviceControl_GetServiceObject_Stub(
  632. IRpcStubBuffer *This,
  633. IRpcChannelBuffer *_pRpcChannelBuffer,
  634. PRPC_MESSAGE _pRpcMessage,
  635. DWORD *_pdwStubPhase);
  636. #endif /* __IUPnPDeviceControl_INTERFACE_DEFINED__ */
  637. #ifndef __IUPnPDeviceProvider_INTERFACE_DEFINED__
  638. #define __IUPnPDeviceProvider_INTERFACE_DEFINED__
  639. /* interface IUPnPDeviceProvider */
  640. /* [object][unique][uuid] */
  641. EXTERN_C const IID IID_IUPnPDeviceProvider;
  642. #if defined(__cplusplus) && !defined(CINTERFACE)
  643. MIDL_INTERFACE("204810b8-73b2-11d4-bf42-00b0d0118b56")
  644. IUPnPDeviceProvider : public IUnknown
  645. {
  646. public:
  647. virtual HRESULT STDMETHODCALLTYPE Start(
  648. /* [in] */ BSTR bstrInitString) = 0;
  649. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  650. };
  651. #else /* C style interface */
  652. typedef struct IUPnPDeviceProviderVtbl
  653. {
  654. BEGIN_INTERFACE
  655. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  656. IUPnPDeviceProvider * This,
  657. /* [in] */ REFIID riid,
  658. /* [iid_is][out] */ void **ppvObject);
  659. ULONG ( STDMETHODCALLTYPE *AddRef )(
  660. IUPnPDeviceProvider * This);
  661. ULONG ( STDMETHODCALLTYPE *Release )(
  662. IUPnPDeviceProvider * This);
  663. HRESULT ( STDMETHODCALLTYPE *Start )(
  664. IUPnPDeviceProvider * This,
  665. /* [in] */ BSTR bstrInitString);
  666. HRESULT ( STDMETHODCALLTYPE *Stop )(
  667. IUPnPDeviceProvider * This);
  668. END_INTERFACE
  669. } IUPnPDeviceProviderVtbl;
  670. interface IUPnPDeviceProvider
  671. {
  672. CONST_VTBL struct IUPnPDeviceProviderVtbl *lpVtbl;
  673. };
  674. #ifdef COBJMACROS
  675. #define IUPnPDeviceProvider_QueryInterface(This,riid,ppvObject) \
  676. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  677. #define IUPnPDeviceProvider_AddRef(This) \
  678. (This)->lpVtbl -> AddRef(This)
  679. #define IUPnPDeviceProvider_Release(This) \
  680. (This)->lpVtbl -> Release(This)
  681. #define IUPnPDeviceProvider_Start(This,bstrInitString) \
  682. (This)->lpVtbl -> Start(This,bstrInitString)
  683. #define IUPnPDeviceProvider_Stop(This) \
  684. (This)->lpVtbl -> Stop(This)
  685. #endif /* COBJMACROS */
  686. #endif /* C style interface */
  687. HRESULT STDMETHODCALLTYPE IUPnPDeviceProvider_Start_Proxy(
  688. IUPnPDeviceProvider * This,
  689. /* [in] */ BSTR bstrInitString);
  690. void __RPC_STUB IUPnPDeviceProvider_Start_Stub(
  691. IRpcStubBuffer *This,
  692. IRpcChannelBuffer *_pRpcChannelBuffer,
  693. PRPC_MESSAGE _pRpcMessage,
  694. DWORD *_pdwStubPhase);
  695. HRESULT STDMETHODCALLTYPE IUPnPDeviceProvider_Stop_Proxy(
  696. IUPnPDeviceProvider * This);
  697. void __RPC_STUB IUPnPDeviceProvider_Stop_Stub(
  698. IRpcStubBuffer *This,
  699. IRpcChannelBuffer *_pRpcChannelBuffer,
  700. PRPC_MESSAGE _pRpcMessage,
  701. DWORD *_pdwStubPhase);
  702. #endif /* __IUPnPDeviceProvider_INTERFACE_DEFINED__ */
  703. #ifndef __IUPnPRemoteEndpointInfo_INTERFACE_DEFINED__
  704. #define __IUPnPRemoteEndpointInfo_INTERFACE_DEFINED__
  705. /* interface IUPnPRemoteEndpointInfo */
  706. /* [object][unique][uuid] */
  707. EXTERN_C const IID IID_IUPnPRemoteEndpointInfo;
  708. #if defined(__cplusplus) && !defined(CINTERFACE)
  709. MIDL_INTERFACE("c92eb863-0269-4aff-9c72-75321bba2952")
  710. IUPnPRemoteEndpointInfo : public IUnknown
  711. {
  712. public:
  713. virtual HRESULT STDMETHODCALLTYPE GetDwordValue(
  714. /* [in] */ BSTR bstrValueName,
  715. /* [out] */ DWORD *pdwValue) = 0;
  716. virtual HRESULT STDMETHODCALLTYPE GetStringValue(
  717. /* [in] */ BSTR bstrValueName,
  718. /* [out] */ BSTR *pbstrValue) = 0;
  719. virtual HRESULT STDMETHODCALLTYPE GetGuidValue(
  720. /* [in] */ BSTR bstrValueName,
  721. /* [out] */ GUID *pguidValue) = 0;
  722. };
  723. #else /* C style interface */
  724. typedef struct IUPnPRemoteEndpointInfoVtbl
  725. {
  726. BEGIN_INTERFACE
  727. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  728. IUPnPRemoteEndpointInfo * This,
  729. /* [in] */ REFIID riid,
  730. /* [iid_is][out] */ void **ppvObject);
  731. ULONG ( STDMETHODCALLTYPE *AddRef )(
  732. IUPnPRemoteEndpointInfo * This);
  733. ULONG ( STDMETHODCALLTYPE *Release )(
  734. IUPnPRemoteEndpointInfo * This);
  735. HRESULT ( STDMETHODCALLTYPE *GetDwordValue )(
  736. IUPnPRemoteEndpointInfo * This,
  737. /* [in] */ BSTR bstrValueName,
  738. /* [out] */ DWORD *pdwValue);
  739. HRESULT ( STDMETHODCALLTYPE *GetStringValue )(
  740. IUPnPRemoteEndpointInfo * This,
  741. /* [in] */ BSTR bstrValueName,
  742. /* [out] */ BSTR *pbstrValue);
  743. HRESULT ( STDMETHODCALLTYPE *GetGuidValue )(
  744. IUPnPRemoteEndpointInfo * This,
  745. /* [in] */ BSTR bstrValueName,
  746. /* [out] */ GUID *pguidValue);
  747. END_INTERFACE
  748. } IUPnPRemoteEndpointInfoVtbl;
  749. interface IUPnPRemoteEndpointInfo
  750. {
  751. CONST_VTBL struct IUPnPRemoteEndpointInfoVtbl *lpVtbl;
  752. };
  753. #ifdef COBJMACROS
  754. #define IUPnPRemoteEndpointInfo_QueryInterface(This,riid,ppvObject) \
  755. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  756. #define IUPnPRemoteEndpointInfo_AddRef(This) \
  757. (This)->lpVtbl -> AddRef(This)
  758. #define IUPnPRemoteEndpointInfo_Release(This) \
  759. (This)->lpVtbl -> Release(This)
  760. #define IUPnPRemoteEndpointInfo_GetDwordValue(This,bstrValueName,pdwValue) \
  761. (This)->lpVtbl -> GetDwordValue(This,bstrValueName,pdwValue)
  762. #define IUPnPRemoteEndpointInfo_GetStringValue(This,bstrValueName,pbstrValue) \
  763. (This)->lpVtbl -> GetStringValue(This,bstrValueName,pbstrValue)
  764. #define IUPnPRemoteEndpointInfo_GetGuidValue(This,bstrValueName,pguidValue) \
  765. (This)->lpVtbl -> GetGuidValue(This,bstrValueName,pguidValue)
  766. #endif /* COBJMACROS */
  767. #endif /* C style interface */
  768. HRESULT STDMETHODCALLTYPE IUPnPRemoteEndpointInfo_GetDwordValue_Proxy(
  769. IUPnPRemoteEndpointInfo * This,
  770. /* [in] */ BSTR bstrValueName,
  771. /* [out] */ DWORD *pdwValue);
  772. void __RPC_STUB IUPnPRemoteEndpointInfo_GetDwordValue_Stub(
  773. IRpcStubBuffer *This,
  774. IRpcChannelBuffer *_pRpcChannelBuffer,
  775. PRPC_MESSAGE _pRpcMessage,
  776. DWORD *_pdwStubPhase);
  777. HRESULT STDMETHODCALLTYPE IUPnPRemoteEndpointInfo_GetStringValue_Proxy(
  778. IUPnPRemoteEndpointInfo * This,
  779. /* [in] */ BSTR bstrValueName,
  780. /* [out] */ BSTR *pbstrValue);
  781. void __RPC_STUB IUPnPRemoteEndpointInfo_GetStringValue_Stub(
  782. IRpcStubBuffer *This,
  783. IRpcChannelBuffer *_pRpcChannelBuffer,
  784. PRPC_MESSAGE _pRpcMessage,
  785. DWORD *_pdwStubPhase);
  786. HRESULT STDMETHODCALLTYPE IUPnPRemoteEndpointInfo_GetGuidValue_Proxy(
  787. IUPnPRemoteEndpointInfo * This,
  788. /* [in] */ BSTR bstrValueName,
  789. /* [out] */ GUID *pguidValue);
  790. void __RPC_STUB IUPnPRemoteEndpointInfo_GetGuidValue_Stub(
  791. IRpcStubBuffer *This,
  792. IRpcChannelBuffer *_pRpcChannelBuffer,
  793. PRPC_MESSAGE _pRpcMessage,
  794. DWORD *_pdwStubPhase);
  795. #endif /* __IUPnPRemoteEndpointInfo_INTERFACE_DEFINED__ */
  796. #ifndef __UPnPHostLib_LIBRARY_DEFINED__
  797. #define __UPnPHostLib_LIBRARY_DEFINED__
  798. /* library UPnPHostLib */
  799. /* [helpstring][version][uuid] */
  800. EXTERN_C const IID LIBID_UPnPHostLib;
  801. EXTERN_C const CLSID CLSID_UPnPRegistrar;
  802. #ifdef __cplusplus
  803. class DECLSPEC_UUID("204810b9-73b2-11d4-bf42-00b0d0118b56")
  804. UPnPRegistrar;
  805. #endif
  806. EXTERN_C const CLSID CLSID_UPnPRemoteEndpointInfo;
  807. #ifdef __cplusplus
  808. class DECLSPEC_UUID("2e5e84e9-4049-4244-b728-2d24227157c7")
  809. UPnPRemoteEndpointInfo;
  810. #endif
  811. #endif /* __UPnPHostLib_LIBRARY_DEFINED__ */
  812. /* Additional Prototypes for ALL interfaces */
  813. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  814. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  815. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  816. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  817. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  818. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  819. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  820. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  821. /* end of Additional Prototypes */
  822. #ifdef __cplusplus
  823. }
  824. #endif
  825. #endif