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.

2570 lines
76 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 bthapi.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 __bthapi_h__
  27. #define __bthapi_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ISdpWalk_FWD_DEFINED__
  33. #define __ISdpWalk_FWD_DEFINED__
  34. typedef interface ISdpWalk ISdpWalk;
  35. #endif /* __ISdpWalk_FWD_DEFINED__ */
  36. #ifndef __ISdpNodeContainer_FWD_DEFINED__
  37. #define __ISdpNodeContainer_FWD_DEFINED__
  38. typedef interface ISdpNodeContainer ISdpNodeContainer;
  39. #endif /* __ISdpNodeContainer_FWD_DEFINED__ */
  40. #ifndef __ISdpSearch_FWD_DEFINED__
  41. #define __ISdpSearch_FWD_DEFINED__
  42. typedef interface ISdpSearch ISdpSearch;
  43. #endif /* __ISdpSearch_FWD_DEFINED__ */
  44. #ifndef __ISdpStream_FWD_DEFINED__
  45. #define __ISdpStream_FWD_DEFINED__
  46. typedef interface ISdpStream ISdpStream;
  47. #endif /* __ISdpStream_FWD_DEFINED__ */
  48. #ifndef __ISdpRecord_FWD_DEFINED__
  49. #define __ISdpRecord_FWD_DEFINED__
  50. typedef interface ISdpRecord ISdpRecord;
  51. #endif /* __ISdpRecord_FWD_DEFINED__ */
  52. #ifndef __IBluetoothDevice_FWD_DEFINED__
  53. #define __IBluetoothDevice_FWD_DEFINED__
  54. typedef interface IBluetoothDevice IBluetoothDevice;
  55. #endif /* __IBluetoothDevice_FWD_DEFINED__ */
  56. #ifndef __IBluetoothAuthenticate_FWD_DEFINED__
  57. #define __IBluetoothAuthenticate_FWD_DEFINED__
  58. typedef interface IBluetoothAuthenticate IBluetoothAuthenticate;
  59. #endif /* __IBluetoothAuthenticate_FWD_DEFINED__ */
  60. #ifndef __SdpNodeContainer_FWD_DEFINED__
  61. #define __SdpNodeContainer_FWD_DEFINED__
  62. #ifdef __cplusplus
  63. typedef class SdpNodeContainer SdpNodeContainer;
  64. #else
  65. typedef struct SdpNodeContainer SdpNodeContainer;
  66. #endif /* __cplusplus */
  67. #endif /* __SdpNodeContainer_FWD_DEFINED__ */
  68. #ifndef __SdpSearch_FWD_DEFINED__
  69. #define __SdpSearch_FWD_DEFINED__
  70. #ifdef __cplusplus
  71. typedef class SdpSearch SdpSearch;
  72. #else
  73. typedef struct SdpSearch SdpSearch;
  74. #endif /* __cplusplus */
  75. #endif /* __SdpSearch_FWD_DEFINED__ */
  76. #ifndef __SdpWalk_FWD_DEFINED__
  77. #define __SdpWalk_FWD_DEFINED__
  78. #ifdef __cplusplus
  79. typedef class SdpWalk SdpWalk;
  80. #else
  81. typedef struct SdpWalk SdpWalk;
  82. #endif /* __cplusplus */
  83. #endif /* __SdpWalk_FWD_DEFINED__ */
  84. #ifndef __SdpStream_FWD_DEFINED__
  85. #define __SdpStream_FWD_DEFINED__
  86. #ifdef __cplusplus
  87. typedef class SdpStream SdpStream;
  88. #else
  89. typedef struct SdpStream SdpStream;
  90. #endif /* __cplusplus */
  91. #endif /* __SdpStream_FWD_DEFINED__ */
  92. #ifndef __SdpRecord_FWD_DEFINED__
  93. #define __SdpRecord_FWD_DEFINED__
  94. #ifdef __cplusplus
  95. typedef class SdpRecord SdpRecord;
  96. #else
  97. typedef struct SdpRecord SdpRecord;
  98. #endif /* __cplusplus */
  99. #endif /* __SdpRecord_FWD_DEFINED__ */
  100. #ifndef __ShellPropSheetExt_FWD_DEFINED__
  101. #define __ShellPropSheetExt_FWD_DEFINED__
  102. #ifdef __cplusplus
  103. typedef class ShellPropSheetExt ShellPropSheetExt;
  104. #else
  105. typedef struct ShellPropSheetExt ShellPropSheetExt;
  106. #endif /* __cplusplus */
  107. #endif /* __ShellPropSheetExt_FWD_DEFINED__ */
  108. #ifndef __BluetoothAuthenticate_FWD_DEFINED__
  109. #define __BluetoothAuthenticate_FWD_DEFINED__
  110. #ifdef __cplusplus
  111. typedef class BluetoothAuthenticate BluetoothAuthenticate;
  112. #else
  113. typedef struct BluetoothAuthenticate BluetoothAuthenticate;
  114. #endif /* __cplusplus */
  115. #endif /* __BluetoothAuthenticate_FWD_DEFINED__ */
  116. #ifndef __BluetoothDevice_FWD_DEFINED__
  117. #define __BluetoothDevice_FWD_DEFINED__
  118. #ifdef __cplusplus
  119. typedef class BluetoothDevice BluetoothDevice;
  120. #else
  121. typedef struct BluetoothDevice BluetoothDevice;
  122. #endif /* __cplusplus */
  123. #endif /* __BluetoothDevice_FWD_DEFINED__ */
  124. /* header files for imported files */
  125. #include "oaidl.h"
  126. #include "ocidl.h"
  127. #include "shobjidl.h"
  128. #ifdef __cplusplus
  129. extern "C"{
  130. #endif
  131. void * __RPC_USER MIDL_user_allocate(size_t);
  132. void __RPC_USER MIDL_user_free( void * );
  133. /* interface __MIDL_itf_bthapi_0000 */
  134. /* [local] */
  135. #ifndef __BTHDEF_H__
  136. struct SDP_LARGE_INTEGER_16
  137. {
  138. ULONGLONG LowPart;
  139. LONGLONG HighPart;
  140. } ;
  141. struct SDP_ULARGE_INTEGER_16
  142. {
  143. ULONGLONG LowPart;
  144. ULONGLONG HighPart;
  145. } ;
  146. typedef struct SDP_ULARGE_INTEGER_16 SDP_ULARGE_INTEGER_16;
  147. typedef struct SDP_ULARGE_INTEGER_16 *PSDP_ULARGE_INTEGER_16;
  148. typedef struct SDP_ULARGE_INTEGER_16 *LPSDP_ULARGE_INTEGER_16;
  149. typedef struct SDP_LARGE_INTEGER_16 SDP_LARGE_INTEGER_16;
  150. typedef struct SDP_LARGE_INTEGER_16 *PSDP_LARGE_INTEGER_16;
  151. typedef struct SDP_LARGE_INTEGER_16 *LPSDP_LARGE_INTEGER_16;
  152. enum NodeContainerType
  153. { NodeContainerTypeSequence = 0,
  154. NodeContainerTypeAlternative = NodeContainerTypeSequence + 1
  155. } ;
  156. typedef enum NodeContainerType NodeContainerType;
  157. typedef USHORT SDP_ERROR;
  158. typedef USHORT *PSDP_ERROR;
  159. enum SDP_TYPE
  160. { SDP_TYPE_NIL = 0,
  161. SDP_TYPE_UINT = 0x1,
  162. SDP_TYPE_INT = 0x2,
  163. SDP_TYPE_UUID = 0x3,
  164. SDP_TYPE_STRING = 0x4,
  165. SDP_TYPE_BOOLEAN = 0x5,
  166. SDP_TYPE_SEQUENCE = 0x6,
  167. SDP_TYPE_ALTERNATIVE = 0x7,
  168. SDP_TYPE_URL = 0x8,
  169. SDP_TYPE_CONTAINER = 0x20
  170. } ;
  171. typedef enum SDP_TYPE SDP_TYPE;
  172. enum SDP_SPECIFICTYPE
  173. { SDP_ST_NONE = 0,
  174. SDP_ST_UINT8 = 0x10,
  175. SDP_ST_UINT16 = 0x110,
  176. SDP_ST_UINT32 = 0x210,
  177. SDP_ST_UINT64 = 0x310,
  178. SDP_ST_UINT128 = 0x410,
  179. SDP_ST_INT8 = 0x20,
  180. SDP_ST_INT16 = 0x120,
  181. SDP_ST_INT32 = 0x220,
  182. SDP_ST_INT64 = 0x320,
  183. SDP_ST_INT128 = 0x420,
  184. SDP_ST_UUID16 = 0x130,
  185. SDP_ST_UUID32 = 0x220,
  186. SDP_ST_UUID128 = 0x430
  187. } ;
  188. typedef enum SDP_SPECIFICTYPE SDP_SPECIFICTYPE;
  189. typedef struct _SdpAttributeRange
  190. {
  191. USHORT minAttribute;
  192. USHORT maxAttribute;
  193. } SdpAttributeRange;
  194. typedef /* [switch_type] */ union SdpQueryUuidUnion
  195. {
  196. /* [case()] */ GUID uuid128;
  197. /* [case()] */ ULONG uuid32;
  198. /* [case()] */ USHORT uuid16;
  199. } SdpQueryUuidUnion;
  200. typedef struct _SdpQueryUuid
  201. {
  202. /* [switch_is] */ SdpQueryUuidUnion u;
  203. USHORT uuidType;
  204. } SdpQueryUuid;
  205. typedef ULONGLONG BTH_ADDR;
  206. typedef ULONGLONG *PBTH_ADDR;
  207. typedef ULONG BTH_COD;
  208. typedef ULONG *PBTH_COD;
  209. typedef ULONG BTH_LAP;
  210. typedef ULONG *PBTH_LAP;
  211. typedef UCHAR BTHSTATUS;
  212. typedef UCHAR *PBTHSTATUS;
  213. typedef struct _BTH_DEVICE_INFO
  214. {
  215. ULONG flags;
  216. BTH_ADDR address;
  217. BTH_COD classOfDevice;
  218. CHAR name[ 248 ];
  219. } BTH_DEVICE_INFO;
  220. typedef struct _BTH_DEVICE_INFO *PBTH_DEVICE_INFO;
  221. typedef struct _BTH_RADIO_IN_RANGE
  222. {
  223. BTH_DEVICE_INFO deviceInfo;
  224. ULONG previousDeviceFlags;
  225. } BTH_RADIO_IN_RANGE;
  226. typedef struct _BTH_RADIO_IN_RANGE *PBTH_RADIO_IN_RANGE;
  227. typedef struct _BTH_L2CAP_EVENT_INFO
  228. {
  229. BTH_ADDR bthAddress;
  230. USHORT psm;
  231. UCHAR connected;
  232. UCHAR initiated;
  233. } BTH_L2CAP_EVENT_INFO;
  234. typedef struct _BTH_L2CAP_EVENT_INFO *PBTH_L2CAP_EVENT_INFO;
  235. typedef struct _BTH_HCI_EVENT_INFO
  236. {
  237. BTH_ADDR bthAddress;
  238. UCHAR connectionType;
  239. UCHAR connected;
  240. } BTH_HCI_EVENT_INFO;
  241. typedef struct _BTH_HCI_EVENT_INFO *PBTH_HCI_EVENT_INFO;
  242. #define __BTHDEF_H__
  243. #endif
  244. struct SdpString
  245. {
  246. /* [size_is] */ CHAR *val;
  247. ULONG length;
  248. } ;
  249. typedef struct SdpString SdpString;
  250. typedef /* [switch_type] */ union NodeDataUnion
  251. {
  252. /* [case()] */ SDP_LARGE_INTEGER_16 int128;
  253. /* [case()] */ SDP_ULARGE_INTEGER_16 uint128;
  254. /* [case()] */ GUID uuid128;
  255. /* [case()] */ ULONG uuid32;
  256. /* [case()] */ USHORT uuid16;
  257. /* [case()] */ LONGLONG int64;
  258. /* [case()] */ ULONGLONG uint64;
  259. /* [case()] */ LONG int32;
  260. /* [case()] */ ULONG uint32;
  261. /* [case()] */ SHORT int16;
  262. /* [case()] */ USHORT uint16;
  263. /* [case()] */ CHAR int8;
  264. /* [case()] */ UCHAR uint8;
  265. /* [case()] */ UCHAR booleanVal;
  266. /* [case()] */ SdpString str;
  267. /* [case()] */ SdpString url;
  268. /* [case()] */ ISdpNodeContainer *container;
  269. /* [case()] */ /* Empty union arm */
  270. } NodeDataUnion;
  271. typedef struct NodeData
  272. {
  273. USHORT type;
  274. USHORT specificType;
  275. /* [switch_is] */ NodeDataUnion u;
  276. } NodeData;
  277. enum BthDeviceStringType
  278. { BthDeviceStringTypeFriendlyName = 0,
  279. BthDeviceStringTypeDeviceName = BthDeviceStringTypeFriendlyName + 1,
  280. BthDeviceStringTypeDisplay = BthDeviceStringTypeDeviceName + 1,
  281. BthDeviceStringTypeClass = BthDeviceStringTypeDisplay + 1,
  282. BthDeviceStringTypeAddress = BthDeviceStringTypeClass + 1
  283. } ;
  284. extern RPC_IF_HANDLE __MIDL_itf_bthapi_0000_v0_0_c_ifspec;
  285. extern RPC_IF_HANDLE __MIDL_itf_bthapi_0000_v0_0_s_ifspec;
  286. #ifndef __ISdpWalk_INTERFACE_DEFINED__
  287. #define __ISdpWalk_INTERFACE_DEFINED__
  288. /* interface ISdpWalk */
  289. /* [unique][helpstring][uuid][object] */
  290. EXTERN_C const IID IID_ISdpWalk;
  291. #if defined(__cplusplus) && !defined(CINTERFACE)
  292. MIDL_INTERFACE("57134AE6-5D3C-462D-BF2F-810361FBD7E7")
  293. ISdpWalk : public IUnknown
  294. {
  295. public:
  296. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WalkNode(
  297. /* [in] */ NodeData *pData,
  298. /* [in] */ ULONG state) = 0;
  299. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WalkStream(
  300. /* [in] */ UCHAR elementType,
  301. /* [in] */ ULONG elementSize,
  302. /* [size_is][in] */ UCHAR *pStream) = 0;
  303. };
  304. #else /* C style interface */
  305. typedef struct ISdpWalkVtbl
  306. {
  307. BEGIN_INTERFACE
  308. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  309. ISdpWalk * This,
  310. /* [in] */ REFIID riid,
  311. /* [iid_is][out] */ void **ppvObject);
  312. ULONG ( STDMETHODCALLTYPE *AddRef )(
  313. ISdpWalk * This);
  314. ULONG ( STDMETHODCALLTYPE *Release )(
  315. ISdpWalk * This);
  316. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WalkNode )(
  317. ISdpWalk * This,
  318. /* [in] */ NodeData *pData,
  319. /* [in] */ ULONG state);
  320. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WalkStream )(
  321. ISdpWalk * This,
  322. /* [in] */ UCHAR elementType,
  323. /* [in] */ ULONG elementSize,
  324. /* [size_is][in] */ UCHAR *pStream);
  325. END_INTERFACE
  326. } ISdpWalkVtbl;
  327. interface ISdpWalk
  328. {
  329. CONST_VTBL struct ISdpWalkVtbl *lpVtbl;
  330. };
  331. #ifdef COBJMACROS
  332. #define ISdpWalk_QueryInterface(This,riid,ppvObject) \
  333. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  334. #define ISdpWalk_AddRef(This) \
  335. (This)->lpVtbl -> AddRef(This)
  336. #define ISdpWalk_Release(This) \
  337. (This)->lpVtbl -> Release(This)
  338. #define ISdpWalk_WalkNode(This,pData,state) \
  339. (This)->lpVtbl -> WalkNode(This,pData,state)
  340. #define ISdpWalk_WalkStream(This,elementType,elementSize,pStream) \
  341. (This)->lpVtbl -> WalkStream(This,elementType,elementSize,pStream)
  342. #endif /* COBJMACROS */
  343. #endif /* C style interface */
  344. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpWalk_WalkNode_Proxy(
  345. ISdpWalk * This,
  346. /* [in] */ NodeData *pData,
  347. /* [in] */ ULONG state);
  348. void __RPC_STUB ISdpWalk_WalkNode_Stub(
  349. IRpcStubBuffer *This,
  350. IRpcChannelBuffer *_pRpcChannelBuffer,
  351. PRPC_MESSAGE _pRpcMessage,
  352. DWORD *_pdwStubPhase);
  353. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpWalk_WalkStream_Proxy(
  354. ISdpWalk * This,
  355. /* [in] */ UCHAR elementType,
  356. /* [in] */ ULONG elementSize,
  357. /* [size_is][in] */ UCHAR *pStream);
  358. void __RPC_STUB ISdpWalk_WalkStream_Stub(
  359. IRpcStubBuffer *This,
  360. IRpcChannelBuffer *_pRpcChannelBuffer,
  361. PRPC_MESSAGE _pRpcMessage,
  362. DWORD *_pdwStubPhase);
  363. #endif /* __ISdpWalk_INTERFACE_DEFINED__ */
  364. #ifndef __ISdpNodeContainer_INTERFACE_DEFINED__
  365. #define __ISdpNodeContainer_INTERFACE_DEFINED__
  366. /* interface ISdpNodeContainer */
  367. /* [unique][helpstring][uuid][object] */
  368. EXTERN_C const IID IID_ISdpNodeContainer;
  369. #if defined(__cplusplus) && !defined(CINTERFACE)
  370. MIDL_INTERFACE("43F6ED49-6E22-4F81-A8EB-DCED40811A77")
  371. ISdpNodeContainer : public IUnknown
  372. {
  373. public:
  374. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateStream(
  375. /* [out] */ UCHAR **ppStream,
  376. /* [out] */ ULONG *pSize) = 0;
  377. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteStream(
  378. /* [in] */ UCHAR *pStream,
  379. /* [out] */ ULONG *pNumBytesWritten) = 0;
  380. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AppendNode(
  381. /* [in] */ NodeData *pData) = 0;
  382. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetType(
  383. /* [out] */ NodeContainerType *pType) = 0;
  384. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetType(
  385. /* [in] */ NodeContainerType type) = 0;
  386. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Walk(
  387. /* [in] */ ISdpWalk *pWalk) = 0;
  388. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetNode(
  389. /* [in] */ ULONG nodeIndex,
  390. /* [in] */ NodeData *pData) = 0;
  391. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNode(
  392. /* [in] */ ULONG nodeIndex,
  393. /* [out] */ NodeData *pData) = 0;
  394. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE LockContainer(
  395. /* [in] */ UCHAR lock) = 0;
  396. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNodeCount(
  397. /* [out] */ ULONG *pNodeCount) = 0;
  398. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFromStream(
  399. /* [size_is][in] */ UCHAR *pStream,
  400. /* [in] */ ULONG size) = 0;
  401. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNodeStringData(
  402. /* [in] */ ULONG nodeIndex,
  403. /* [out][in] */ NodeData *pData) = 0;
  404. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetStreamSize(
  405. /* [out] */ ULONG *pSize) = 0;
  406. };
  407. #else /* C style interface */
  408. typedef struct ISdpNodeContainerVtbl
  409. {
  410. BEGIN_INTERFACE
  411. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  412. ISdpNodeContainer * This,
  413. /* [in] */ REFIID riid,
  414. /* [iid_is][out] */ void **ppvObject);
  415. ULONG ( STDMETHODCALLTYPE *AddRef )(
  416. ISdpNodeContainer * This);
  417. ULONG ( STDMETHODCALLTYPE *Release )(
  418. ISdpNodeContainer * This);
  419. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateStream )(
  420. ISdpNodeContainer * This,
  421. /* [out] */ UCHAR **ppStream,
  422. /* [out] */ ULONG *pSize);
  423. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WriteStream )(
  424. ISdpNodeContainer * This,
  425. /* [in] */ UCHAR *pStream,
  426. /* [out] */ ULONG *pNumBytesWritten);
  427. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AppendNode )(
  428. ISdpNodeContainer * This,
  429. /* [in] */ NodeData *pData);
  430. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetType )(
  431. ISdpNodeContainer * This,
  432. /* [out] */ NodeContainerType *pType);
  433. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetType )(
  434. ISdpNodeContainer * This,
  435. /* [in] */ NodeContainerType type);
  436. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Walk )(
  437. ISdpNodeContainer * This,
  438. /* [in] */ ISdpWalk *pWalk);
  439. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetNode )(
  440. ISdpNodeContainer * This,
  441. /* [in] */ ULONG nodeIndex,
  442. /* [in] */ NodeData *pData);
  443. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNode )(
  444. ISdpNodeContainer * This,
  445. /* [in] */ ULONG nodeIndex,
  446. /* [out] */ NodeData *pData);
  447. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *LockContainer )(
  448. ISdpNodeContainer * This,
  449. /* [in] */ UCHAR lock);
  450. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNodeCount )(
  451. ISdpNodeContainer * This,
  452. /* [out] */ ULONG *pNodeCount);
  453. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFromStream )(
  454. ISdpNodeContainer * This,
  455. /* [size_is][in] */ UCHAR *pStream,
  456. /* [in] */ ULONG size);
  457. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNodeStringData )(
  458. ISdpNodeContainer * This,
  459. /* [in] */ ULONG nodeIndex,
  460. /* [out][in] */ NodeData *pData);
  461. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetStreamSize )(
  462. ISdpNodeContainer * This,
  463. /* [out] */ ULONG *pSize);
  464. END_INTERFACE
  465. } ISdpNodeContainerVtbl;
  466. interface ISdpNodeContainer
  467. {
  468. CONST_VTBL struct ISdpNodeContainerVtbl *lpVtbl;
  469. };
  470. #ifdef COBJMACROS
  471. #define ISdpNodeContainer_QueryInterface(This,riid,ppvObject) \
  472. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  473. #define ISdpNodeContainer_AddRef(This) \
  474. (This)->lpVtbl -> AddRef(This)
  475. #define ISdpNodeContainer_Release(This) \
  476. (This)->lpVtbl -> Release(This)
  477. #define ISdpNodeContainer_CreateStream(This,ppStream,pSize) \
  478. (This)->lpVtbl -> CreateStream(This,ppStream,pSize)
  479. #define ISdpNodeContainer_WriteStream(This,pStream,pNumBytesWritten) \
  480. (This)->lpVtbl -> WriteStream(This,pStream,pNumBytesWritten)
  481. #define ISdpNodeContainer_AppendNode(This,pData) \
  482. (This)->lpVtbl -> AppendNode(This,pData)
  483. #define ISdpNodeContainer_GetType(This,pType) \
  484. (This)->lpVtbl -> GetType(This,pType)
  485. #define ISdpNodeContainer_SetType(This,type) \
  486. (This)->lpVtbl -> SetType(This,type)
  487. #define ISdpNodeContainer_Walk(This,pWalk) \
  488. (This)->lpVtbl -> Walk(This,pWalk)
  489. #define ISdpNodeContainer_SetNode(This,nodeIndex,pData) \
  490. (This)->lpVtbl -> SetNode(This,nodeIndex,pData)
  491. #define ISdpNodeContainer_GetNode(This,nodeIndex,pData) \
  492. (This)->lpVtbl -> GetNode(This,nodeIndex,pData)
  493. #define ISdpNodeContainer_LockContainer(This,lock) \
  494. (This)->lpVtbl -> LockContainer(This,lock)
  495. #define ISdpNodeContainer_GetNodeCount(This,pNodeCount) \
  496. (This)->lpVtbl -> GetNodeCount(This,pNodeCount)
  497. #define ISdpNodeContainer_CreateFromStream(This,pStream,size) \
  498. (This)->lpVtbl -> CreateFromStream(This,pStream,size)
  499. #define ISdpNodeContainer_GetNodeStringData(This,nodeIndex,pData) \
  500. (This)->lpVtbl -> GetNodeStringData(This,nodeIndex,pData)
  501. #define ISdpNodeContainer_GetStreamSize(This,pSize) \
  502. (This)->lpVtbl -> GetStreamSize(This,pSize)
  503. #endif /* COBJMACROS */
  504. #endif /* C style interface */
  505. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_CreateStream_Proxy(
  506. ISdpNodeContainer * This,
  507. /* [out] */ UCHAR **ppStream,
  508. /* [out] */ ULONG *pSize);
  509. void __RPC_STUB ISdpNodeContainer_CreateStream_Stub(
  510. IRpcStubBuffer *This,
  511. IRpcChannelBuffer *_pRpcChannelBuffer,
  512. PRPC_MESSAGE _pRpcMessage,
  513. DWORD *_pdwStubPhase);
  514. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_WriteStream_Proxy(
  515. ISdpNodeContainer * This,
  516. /* [in] */ UCHAR *pStream,
  517. /* [out] */ ULONG *pNumBytesWritten);
  518. void __RPC_STUB ISdpNodeContainer_WriteStream_Stub(
  519. IRpcStubBuffer *This,
  520. IRpcChannelBuffer *_pRpcChannelBuffer,
  521. PRPC_MESSAGE _pRpcMessage,
  522. DWORD *_pdwStubPhase);
  523. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_AppendNode_Proxy(
  524. ISdpNodeContainer * This,
  525. /* [in] */ NodeData *pData);
  526. void __RPC_STUB ISdpNodeContainer_AppendNode_Stub(
  527. IRpcStubBuffer *This,
  528. IRpcChannelBuffer *_pRpcChannelBuffer,
  529. PRPC_MESSAGE _pRpcMessage,
  530. DWORD *_pdwStubPhase);
  531. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_GetType_Proxy(
  532. ISdpNodeContainer * This,
  533. /* [out] */ NodeContainerType *pType);
  534. void __RPC_STUB ISdpNodeContainer_GetType_Stub(
  535. IRpcStubBuffer *This,
  536. IRpcChannelBuffer *_pRpcChannelBuffer,
  537. PRPC_MESSAGE _pRpcMessage,
  538. DWORD *_pdwStubPhase);
  539. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_SetType_Proxy(
  540. ISdpNodeContainer * This,
  541. /* [in] */ NodeContainerType type);
  542. void __RPC_STUB ISdpNodeContainer_SetType_Stub(
  543. IRpcStubBuffer *This,
  544. IRpcChannelBuffer *_pRpcChannelBuffer,
  545. PRPC_MESSAGE _pRpcMessage,
  546. DWORD *_pdwStubPhase);
  547. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_Walk_Proxy(
  548. ISdpNodeContainer * This,
  549. /* [in] */ ISdpWalk *pWalk);
  550. void __RPC_STUB ISdpNodeContainer_Walk_Stub(
  551. IRpcStubBuffer *This,
  552. IRpcChannelBuffer *_pRpcChannelBuffer,
  553. PRPC_MESSAGE _pRpcMessage,
  554. DWORD *_pdwStubPhase);
  555. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_SetNode_Proxy(
  556. ISdpNodeContainer * This,
  557. /* [in] */ ULONG nodeIndex,
  558. /* [in] */ NodeData *pData);
  559. void __RPC_STUB ISdpNodeContainer_SetNode_Stub(
  560. IRpcStubBuffer *This,
  561. IRpcChannelBuffer *_pRpcChannelBuffer,
  562. PRPC_MESSAGE _pRpcMessage,
  563. DWORD *_pdwStubPhase);
  564. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_GetNode_Proxy(
  565. ISdpNodeContainer * This,
  566. /* [in] */ ULONG nodeIndex,
  567. /* [out] */ NodeData *pData);
  568. void __RPC_STUB ISdpNodeContainer_GetNode_Stub(
  569. IRpcStubBuffer *This,
  570. IRpcChannelBuffer *_pRpcChannelBuffer,
  571. PRPC_MESSAGE _pRpcMessage,
  572. DWORD *_pdwStubPhase);
  573. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_LockContainer_Proxy(
  574. ISdpNodeContainer * This,
  575. /* [in] */ UCHAR lock);
  576. void __RPC_STUB ISdpNodeContainer_LockContainer_Stub(
  577. IRpcStubBuffer *This,
  578. IRpcChannelBuffer *_pRpcChannelBuffer,
  579. PRPC_MESSAGE _pRpcMessage,
  580. DWORD *_pdwStubPhase);
  581. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_GetNodeCount_Proxy(
  582. ISdpNodeContainer * This,
  583. /* [out] */ ULONG *pNodeCount);
  584. void __RPC_STUB ISdpNodeContainer_GetNodeCount_Stub(
  585. IRpcStubBuffer *This,
  586. IRpcChannelBuffer *_pRpcChannelBuffer,
  587. PRPC_MESSAGE _pRpcMessage,
  588. DWORD *_pdwStubPhase);
  589. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_CreateFromStream_Proxy(
  590. ISdpNodeContainer * This,
  591. /* [size_is][in] */ UCHAR *pStream,
  592. /* [in] */ ULONG size);
  593. void __RPC_STUB ISdpNodeContainer_CreateFromStream_Stub(
  594. IRpcStubBuffer *This,
  595. IRpcChannelBuffer *_pRpcChannelBuffer,
  596. PRPC_MESSAGE _pRpcMessage,
  597. DWORD *_pdwStubPhase);
  598. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_GetNodeStringData_Proxy(
  599. ISdpNodeContainer * This,
  600. /* [in] */ ULONG nodeIndex,
  601. /* [out][in] */ NodeData *pData);
  602. void __RPC_STUB ISdpNodeContainer_GetNodeStringData_Stub(
  603. IRpcStubBuffer *This,
  604. IRpcChannelBuffer *_pRpcChannelBuffer,
  605. PRPC_MESSAGE _pRpcMessage,
  606. DWORD *_pdwStubPhase);
  607. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpNodeContainer_GetStreamSize_Proxy(
  608. ISdpNodeContainer * This,
  609. /* [out] */ ULONG *pSize);
  610. void __RPC_STUB ISdpNodeContainer_GetStreamSize_Stub(
  611. IRpcStubBuffer *This,
  612. IRpcChannelBuffer *_pRpcChannelBuffer,
  613. PRPC_MESSAGE _pRpcMessage,
  614. DWORD *_pdwStubPhase);
  615. #endif /* __ISdpNodeContainer_INTERFACE_DEFINED__ */
  616. /* interface __MIDL_itf_bthapi_0348 */
  617. /* [local] */
  618. //
  619. // flags for fConnect in SdpSearch::Connect
  620. //
  621. #define SDP_SEARCH_CACHED (0x00000001)
  622. extern RPC_IF_HANDLE __MIDL_itf_bthapi_0348_v0_0_c_ifspec;
  623. extern RPC_IF_HANDLE __MIDL_itf_bthapi_0348_v0_0_s_ifspec;
  624. #ifndef __ISdpSearch_INTERFACE_DEFINED__
  625. #define __ISdpSearch_INTERFACE_DEFINED__
  626. /* interface ISdpSearch */
  627. /* [unique][helpstring][uuid][object] */
  628. EXTERN_C const IID IID_ISdpSearch;
  629. #if defined(__cplusplus) && !defined(CINTERFACE)
  630. MIDL_INTERFACE("D93B6B2A-5EEF-4E1E-BECF-F5A4340C65F5")
  631. ISdpSearch : public IUnknown
  632. {
  633. public:
  634. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Begin(
  635. ULONGLONG *pAddrss,
  636. ULONG fConnect) = 0;
  637. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE End( void) = 0;
  638. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ServiceSearch(
  639. /* [size_is][in] */ SdpQueryUuid *pUuidList,
  640. /* [in] */ ULONG listSize,
  641. /* [out] */ ULONG *pHandles,
  642. /* [out][in] */ USHORT *pNumHandles) = 0;
  643. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AttributeSearch(
  644. /* [in] */ ULONG handle,
  645. /* [size_is][in] */ SdpAttributeRange *pRangeList,
  646. /* [in] */ ULONG numRanges,
  647. /* [out] */ ISdpRecord **ppSdpRecord) = 0;
  648. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ServiceAndAttributeSearch(
  649. /* [size_is][in] */ SdpQueryUuid *pUuidList,
  650. /* [in] */ ULONG listSize,
  651. /* [size_is][in] */ SdpAttributeRange *pRangeList,
  652. /* [in] */ ULONG numRanges,
  653. /* [out] */ ISdpRecord ***pppSdpRecord,
  654. /* [out] */ ULONG *pNumRecords) = 0;
  655. };
  656. #else /* C style interface */
  657. typedef struct ISdpSearchVtbl
  658. {
  659. BEGIN_INTERFACE
  660. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  661. ISdpSearch * This,
  662. /* [in] */ REFIID riid,
  663. /* [iid_is][out] */ void **ppvObject);
  664. ULONG ( STDMETHODCALLTYPE *AddRef )(
  665. ISdpSearch * This);
  666. ULONG ( STDMETHODCALLTYPE *Release )(
  667. ISdpSearch * This);
  668. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Begin )(
  669. ISdpSearch * This,
  670. ULONGLONG *pAddrss,
  671. ULONG fConnect);
  672. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *End )(
  673. ISdpSearch * This);
  674. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ServiceSearch )(
  675. ISdpSearch * This,
  676. /* [size_is][in] */ SdpQueryUuid *pUuidList,
  677. /* [in] */ ULONG listSize,
  678. /* [out] */ ULONG *pHandles,
  679. /* [out][in] */ USHORT *pNumHandles);
  680. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AttributeSearch )(
  681. ISdpSearch * This,
  682. /* [in] */ ULONG handle,
  683. /* [size_is][in] */ SdpAttributeRange *pRangeList,
  684. /* [in] */ ULONG numRanges,
  685. /* [out] */ ISdpRecord **ppSdpRecord);
  686. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ServiceAndAttributeSearch )(
  687. ISdpSearch * This,
  688. /* [size_is][in] */ SdpQueryUuid *pUuidList,
  689. /* [in] */ ULONG listSize,
  690. /* [size_is][in] */ SdpAttributeRange *pRangeList,
  691. /* [in] */ ULONG numRanges,
  692. /* [out] */ ISdpRecord ***pppSdpRecord,
  693. /* [out] */ ULONG *pNumRecords);
  694. END_INTERFACE
  695. } ISdpSearchVtbl;
  696. interface ISdpSearch
  697. {
  698. CONST_VTBL struct ISdpSearchVtbl *lpVtbl;
  699. };
  700. #ifdef COBJMACROS
  701. #define ISdpSearch_QueryInterface(This,riid,ppvObject) \
  702. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  703. #define ISdpSearch_AddRef(This) \
  704. (This)->lpVtbl -> AddRef(This)
  705. #define ISdpSearch_Release(This) \
  706. (This)->lpVtbl -> Release(This)
  707. #define ISdpSearch_Begin(This,pAddrss,fConnect) \
  708. (This)->lpVtbl -> Begin(This,pAddrss,fConnect)
  709. #define ISdpSearch_End(This) \
  710. (This)->lpVtbl -> End(This)
  711. #define ISdpSearch_ServiceSearch(This,pUuidList,listSize,pHandles,pNumHandles) \
  712. (This)->lpVtbl -> ServiceSearch(This,pUuidList,listSize,pHandles,pNumHandles)
  713. #define ISdpSearch_AttributeSearch(This,handle,pRangeList,numRanges,ppSdpRecord) \
  714. (This)->lpVtbl -> AttributeSearch(This,handle,pRangeList,numRanges,ppSdpRecord)
  715. #define ISdpSearch_ServiceAndAttributeSearch(This,pUuidList,listSize,pRangeList,numRanges,pppSdpRecord,pNumRecords) \
  716. (This)->lpVtbl -> ServiceAndAttributeSearch(This,pUuidList,listSize,pRangeList,numRanges,pppSdpRecord,pNumRecords)
  717. #endif /* COBJMACROS */
  718. #endif /* C style interface */
  719. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpSearch_Begin_Proxy(
  720. ISdpSearch * This,
  721. ULONGLONG *pAddrss,
  722. ULONG fConnect);
  723. void __RPC_STUB ISdpSearch_Begin_Stub(
  724. IRpcStubBuffer *This,
  725. IRpcChannelBuffer *_pRpcChannelBuffer,
  726. PRPC_MESSAGE _pRpcMessage,
  727. DWORD *_pdwStubPhase);
  728. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpSearch_End_Proxy(
  729. ISdpSearch * This);
  730. void __RPC_STUB ISdpSearch_End_Stub(
  731. IRpcStubBuffer *This,
  732. IRpcChannelBuffer *_pRpcChannelBuffer,
  733. PRPC_MESSAGE _pRpcMessage,
  734. DWORD *_pdwStubPhase);
  735. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpSearch_ServiceSearch_Proxy(
  736. ISdpSearch * This,
  737. /* [size_is][in] */ SdpQueryUuid *pUuidList,
  738. /* [in] */ ULONG listSize,
  739. /* [out] */ ULONG *pHandles,
  740. /* [out][in] */ USHORT *pNumHandles);
  741. void __RPC_STUB ISdpSearch_ServiceSearch_Stub(
  742. IRpcStubBuffer *This,
  743. IRpcChannelBuffer *_pRpcChannelBuffer,
  744. PRPC_MESSAGE _pRpcMessage,
  745. DWORD *_pdwStubPhase);
  746. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpSearch_AttributeSearch_Proxy(
  747. ISdpSearch * This,
  748. /* [in] */ ULONG handle,
  749. /* [size_is][in] */ SdpAttributeRange *pRangeList,
  750. /* [in] */ ULONG numRanges,
  751. /* [out] */ ISdpRecord **ppSdpRecord);
  752. void __RPC_STUB ISdpSearch_AttributeSearch_Stub(
  753. IRpcStubBuffer *This,
  754. IRpcChannelBuffer *_pRpcChannelBuffer,
  755. PRPC_MESSAGE _pRpcMessage,
  756. DWORD *_pdwStubPhase);
  757. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpSearch_ServiceAndAttributeSearch_Proxy(
  758. ISdpSearch * This,
  759. /* [size_is][in] */ SdpQueryUuid *pUuidList,
  760. /* [in] */ ULONG listSize,
  761. /* [size_is][in] */ SdpAttributeRange *pRangeList,
  762. /* [in] */ ULONG numRanges,
  763. /* [out] */ ISdpRecord ***pppSdpRecord,
  764. /* [out] */ ULONG *pNumRecords);
  765. void __RPC_STUB ISdpSearch_ServiceAndAttributeSearch_Stub(
  766. IRpcStubBuffer *This,
  767. IRpcChannelBuffer *_pRpcChannelBuffer,
  768. PRPC_MESSAGE _pRpcMessage,
  769. DWORD *_pdwStubPhase);
  770. #endif /* __ISdpSearch_INTERFACE_DEFINED__ */
  771. #ifndef __ISdpStream_INTERFACE_DEFINED__
  772. #define __ISdpStream_INTERFACE_DEFINED__
  773. /* interface ISdpStream */
  774. /* [unique][helpstring][uuid][object] */
  775. EXTERN_C const IID IID_ISdpStream;
  776. #if defined(__cplusplus) && !defined(CINTERFACE)
  777. MIDL_INTERFACE("A6ECD9FB-0C7A-41A3-9FF0-0B617E989357")
  778. ISdpStream : public IUnknown
  779. {
  780. public:
  781. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Validate(
  782. /* [size_is][in] */ UCHAR *pStream,
  783. /* [in] */ ULONG size,
  784. /* [out] */ ULONG_PTR *pErrorByte) = 0;
  785. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Walk(
  786. /* [size_is][in] */ UCHAR *pStream,
  787. /* [in] */ ULONG size,
  788. /* [in] */ ISdpWalk *pWalk) = 0;
  789. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveRecords(
  790. /* [in] */ UCHAR *pStream,
  791. /* [in] */ ULONG size,
  792. /* [out][in] */ ISdpRecord **ppSdpRecords,
  793. /* [out][in] */ ULONG *pNumRecords) = 0;
  794. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveUuid128(
  795. /* [in] */ UCHAR *pStream,
  796. /* [out] */ GUID *pUuid128) = 0;
  797. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveUint16(
  798. /* [in] */ UCHAR *pStream,
  799. /* [out] */ USHORT *pUint16) = 0;
  800. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveUint32(
  801. /* [in] */ UCHAR *pStream,
  802. /* [out] */ ULONG *pUint32) = 0;
  803. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveUint64(
  804. /* [in] */ UCHAR *pStream,
  805. /* [out] */ ULONGLONG *pUint64) = 0;
  806. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveUint128(
  807. /* [in] */ UCHAR *pStream,
  808. /* [out] */ PSDP_ULARGE_INTEGER_16 pUint128) = 0;
  809. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveInt16(
  810. /* [in] */ UCHAR *pStream,
  811. /* [out] */ SHORT *pInt16) = 0;
  812. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveInt32(
  813. /* [in] */ UCHAR *pStream,
  814. /* [out] */ LONG *pInt32) = 0;
  815. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveInt64(
  816. /* [in] */ UCHAR *pStream,
  817. /* [out] */ LONGLONG *pInt64) = 0;
  818. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveInt128(
  819. /* [in] */ UCHAR *pStream,
  820. /* [out] */ PSDP_LARGE_INTEGER_16 pInt128) = 0;
  821. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapUuid128(
  822. /* [in] */ GUID *pInUuid128,
  823. /* [out] */ GUID *pOutUuid128) = 0;
  824. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapUint128(
  825. /* [in] */ PSDP_ULARGE_INTEGER_16 pInUint128,
  826. /* [out] */ PSDP_ULARGE_INTEGER_16 pOutUint128) = 0;
  827. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapUint64(
  828. /* [in] */ ULONGLONG inUint64,
  829. /* [out] */ ULONGLONG *pOutUint64) = 0;
  830. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapUint32(
  831. /* [in] */ ULONG uint32,
  832. /* [out] */ ULONG *pUint32) = 0;
  833. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapUint16(
  834. /* [in] */ USHORT uint16,
  835. /* [out] */ USHORT *pUint16) = 0;
  836. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapInt128(
  837. /* [in] */ PSDP_LARGE_INTEGER_16 pInInt128,
  838. /* [out] */ PSDP_LARGE_INTEGER_16 pOutInt128) = 0;
  839. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapInt64(
  840. /* [in] */ LONGLONG inInt64,
  841. /* [out] */ LONGLONG *pOutInt64) = 0;
  842. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapInt32(
  843. /* [in] */ LONG int32,
  844. /* [out] */ LONG *pInt32) = 0;
  845. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ByteSwapInt16(
  846. /* [in] */ SHORT int16,
  847. /* [out] */ SHORT *pInt16) = 0;
  848. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NormalizeUuid(
  849. /* [in] */ NodeData *pDataUuid,
  850. /* [out] */ GUID *pNormalizeUuid) = 0;
  851. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RetrieveElementInfo(
  852. /* [in] */ UCHAR *pStream,
  853. /* [out] */ SDP_TYPE *pElementType,
  854. /* [out] */ SDP_SPECIFICTYPE *pElementSpecificType,
  855. /* [out] */ ULONG *pElementSize,
  856. /* [out] */ ULONG *pStorageSize,
  857. /* [out] */ UCHAR **ppData) = 0;
  858. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE VerifySequenceOf(
  859. /* [in] */ UCHAR *pStream,
  860. /* [in] */ ULONG size,
  861. /* [in] */ SDP_TYPE ofType,
  862. /* [in] */ UCHAR *pSpecificSizes,
  863. /* [out] */ ULONG *pNumFound) = 0;
  864. };
  865. #else /* C style interface */
  866. typedef struct ISdpStreamVtbl
  867. {
  868. BEGIN_INTERFACE
  869. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  870. ISdpStream * This,
  871. /* [in] */ REFIID riid,
  872. /* [iid_is][out] */ void **ppvObject);
  873. ULONG ( STDMETHODCALLTYPE *AddRef )(
  874. ISdpStream * This);
  875. ULONG ( STDMETHODCALLTYPE *Release )(
  876. ISdpStream * This);
  877. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Validate )(
  878. ISdpStream * This,
  879. /* [size_is][in] */ UCHAR *pStream,
  880. /* [in] */ ULONG size,
  881. /* [out] */ ULONG_PTR *pErrorByte);
  882. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Walk )(
  883. ISdpStream * This,
  884. /* [size_is][in] */ UCHAR *pStream,
  885. /* [in] */ ULONG size,
  886. /* [in] */ ISdpWalk *pWalk);
  887. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveRecords )(
  888. ISdpStream * This,
  889. /* [in] */ UCHAR *pStream,
  890. /* [in] */ ULONG size,
  891. /* [out][in] */ ISdpRecord **ppSdpRecords,
  892. /* [out][in] */ ULONG *pNumRecords);
  893. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveUuid128 )(
  894. ISdpStream * This,
  895. /* [in] */ UCHAR *pStream,
  896. /* [out] */ GUID *pUuid128);
  897. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveUint16 )(
  898. ISdpStream * This,
  899. /* [in] */ UCHAR *pStream,
  900. /* [out] */ USHORT *pUint16);
  901. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveUint32 )(
  902. ISdpStream * This,
  903. /* [in] */ UCHAR *pStream,
  904. /* [out] */ ULONG *pUint32);
  905. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveUint64 )(
  906. ISdpStream * This,
  907. /* [in] */ UCHAR *pStream,
  908. /* [out] */ ULONGLONG *pUint64);
  909. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveUint128 )(
  910. ISdpStream * This,
  911. /* [in] */ UCHAR *pStream,
  912. /* [out] */ PSDP_ULARGE_INTEGER_16 pUint128);
  913. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveInt16 )(
  914. ISdpStream * This,
  915. /* [in] */ UCHAR *pStream,
  916. /* [out] */ SHORT *pInt16);
  917. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveInt32 )(
  918. ISdpStream * This,
  919. /* [in] */ UCHAR *pStream,
  920. /* [out] */ LONG *pInt32);
  921. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveInt64 )(
  922. ISdpStream * This,
  923. /* [in] */ UCHAR *pStream,
  924. /* [out] */ LONGLONG *pInt64);
  925. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveInt128 )(
  926. ISdpStream * This,
  927. /* [in] */ UCHAR *pStream,
  928. /* [out] */ PSDP_LARGE_INTEGER_16 pInt128);
  929. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapUuid128 )(
  930. ISdpStream * This,
  931. /* [in] */ GUID *pInUuid128,
  932. /* [out] */ GUID *pOutUuid128);
  933. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapUint128 )(
  934. ISdpStream * This,
  935. /* [in] */ PSDP_ULARGE_INTEGER_16 pInUint128,
  936. /* [out] */ PSDP_ULARGE_INTEGER_16 pOutUint128);
  937. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapUint64 )(
  938. ISdpStream * This,
  939. /* [in] */ ULONGLONG inUint64,
  940. /* [out] */ ULONGLONG *pOutUint64);
  941. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapUint32 )(
  942. ISdpStream * This,
  943. /* [in] */ ULONG uint32,
  944. /* [out] */ ULONG *pUint32);
  945. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapUint16 )(
  946. ISdpStream * This,
  947. /* [in] */ USHORT uint16,
  948. /* [out] */ USHORT *pUint16);
  949. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapInt128 )(
  950. ISdpStream * This,
  951. /* [in] */ PSDP_LARGE_INTEGER_16 pInInt128,
  952. /* [out] */ PSDP_LARGE_INTEGER_16 pOutInt128);
  953. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapInt64 )(
  954. ISdpStream * This,
  955. /* [in] */ LONGLONG inInt64,
  956. /* [out] */ LONGLONG *pOutInt64);
  957. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapInt32 )(
  958. ISdpStream * This,
  959. /* [in] */ LONG int32,
  960. /* [out] */ LONG *pInt32);
  961. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ByteSwapInt16 )(
  962. ISdpStream * This,
  963. /* [in] */ SHORT int16,
  964. /* [out] */ SHORT *pInt16);
  965. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *NormalizeUuid )(
  966. ISdpStream * This,
  967. /* [in] */ NodeData *pDataUuid,
  968. /* [out] */ GUID *pNormalizeUuid);
  969. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RetrieveElementInfo )(
  970. ISdpStream * This,
  971. /* [in] */ UCHAR *pStream,
  972. /* [out] */ SDP_TYPE *pElementType,
  973. /* [out] */ SDP_SPECIFICTYPE *pElementSpecificType,
  974. /* [out] */ ULONG *pElementSize,
  975. /* [out] */ ULONG *pStorageSize,
  976. /* [out] */ UCHAR **ppData);
  977. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *VerifySequenceOf )(
  978. ISdpStream * This,
  979. /* [in] */ UCHAR *pStream,
  980. /* [in] */ ULONG size,
  981. /* [in] */ SDP_TYPE ofType,
  982. /* [in] */ UCHAR *pSpecificSizes,
  983. /* [out] */ ULONG *pNumFound);
  984. END_INTERFACE
  985. } ISdpStreamVtbl;
  986. interface ISdpStream
  987. {
  988. CONST_VTBL struct ISdpStreamVtbl *lpVtbl;
  989. };
  990. #ifdef COBJMACROS
  991. #define ISdpStream_QueryInterface(This,riid,ppvObject) \
  992. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  993. #define ISdpStream_AddRef(This) \
  994. (This)->lpVtbl -> AddRef(This)
  995. #define ISdpStream_Release(This) \
  996. (This)->lpVtbl -> Release(This)
  997. #define ISdpStream_Validate(This,pStream,size,pErrorByte) \
  998. (This)->lpVtbl -> Validate(This,pStream,size,pErrorByte)
  999. #define ISdpStream_Walk(This,pStream,size,pWalk) \
  1000. (This)->lpVtbl -> Walk(This,pStream,size,pWalk)
  1001. #define ISdpStream_RetrieveRecords(This,pStream,size,ppSdpRecords,pNumRecords) \
  1002. (This)->lpVtbl -> RetrieveRecords(This,pStream,size,ppSdpRecords,pNumRecords)
  1003. #define ISdpStream_RetrieveUuid128(This,pStream,pUuid128) \
  1004. (This)->lpVtbl -> RetrieveUuid128(This,pStream,pUuid128)
  1005. #define ISdpStream_RetrieveUint16(This,pStream,pUint16) \
  1006. (This)->lpVtbl -> RetrieveUint16(This,pStream,pUint16)
  1007. #define ISdpStream_RetrieveUint32(This,pStream,pUint32) \
  1008. (This)->lpVtbl -> RetrieveUint32(This,pStream,pUint32)
  1009. #define ISdpStream_RetrieveUint64(This,pStream,pUint64) \
  1010. (This)->lpVtbl -> RetrieveUint64(This,pStream,pUint64)
  1011. #define ISdpStream_RetrieveUint128(This,pStream,pUint128) \
  1012. (This)->lpVtbl -> RetrieveUint128(This,pStream,pUint128)
  1013. #define ISdpStream_RetrieveInt16(This,pStream,pInt16) \
  1014. (This)->lpVtbl -> RetrieveInt16(This,pStream,pInt16)
  1015. #define ISdpStream_RetrieveInt32(This,pStream,pInt32) \
  1016. (This)->lpVtbl -> RetrieveInt32(This,pStream,pInt32)
  1017. #define ISdpStream_RetrieveInt64(This,pStream,pInt64) \
  1018. (This)->lpVtbl -> RetrieveInt64(This,pStream,pInt64)
  1019. #define ISdpStream_RetrieveInt128(This,pStream,pInt128) \
  1020. (This)->lpVtbl -> RetrieveInt128(This,pStream,pInt128)
  1021. #define ISdpStream_ByteSwapUuid128(This,pInUuid128,pOutUuid128) \
  1022. (This)->lpVtbl -> ByteSwapUuid128(This,pInUuid128,pOutUuid128)
  1023. #define ISdpStream_ByteSwapUint128(This,pInUint128,pOutUint128) \
  1024. (This)->lpVtbl -> ByteSwapUint128(This,pInUint128,pOutUint128)
  1025. #define ISdpStream_ByteSwapUint64(This,inUint64,pOutUint64) \
  1026. (This)->lpVtbl -> ByteSwapUint64(This,inUint64,pOutUint64)
  1027. #define ISdpStream_ByteSwapUint32(This,uint32,pUint32) \
  1028. (This)->lpVtbl -> ByteSwapUint32(This,uint32,pUint32)
  1029. #define ISdpStream_ByteSwapUint16(This,uint16,pUint16) \
  1030. (This)->lpVtbl -> ByteSwapUint16(This,uint16,pUint16)
  1031. #define ISdpStream_ByteSwapInt128(This,pInInt128,pOutInt128) \
  1032. (This)->lpVtbl -> ByteSwapInt128(This,pInInt128,pOutInt128)
  1033. #define ISdpStream_ByteSwapInt64(This,inInt64,pOutInt64) \
  1034. (This)->lpVtbl -> ByteSwapInt64(This,inInt64,pOutInt64)
  1035. #define ISdpStream_ByteSwapInt32(This,int32,pInt32) \
  1036. (This)->lpVtbl -> ByteSwapInt32(This,int32,pInt32)
  1037. #define ISdpStream_ByteSwapInt16(This,int16,pInt16) \
  1038. (This)->lpVtbl -> ByteSwapInt16(This,int16,pInt16)
  1039. #define ISdpStream_NormalizeUuid(This,pDataUuid,pNormalizeUuid) \
  1040. (This)->lpVtbl -> NormalizeUuid(This,pDataUuid,pNormalizeUuid)
  1041. #define ISdpStream_RetrieveElementInfo(This,pStream,pElementType,pElementSpecificType,pElementSize,pStorageSize,ppData) \
  1042. (This)->lpVtbl -> RetrieveElementInfo(This,pStream,pElementType,pElementSpecificType,pElementSize,pStorageSize,ppData)
  1043. #define ISdpStream_VerifySequenceOf(This,pStream,size,ofType,pSpecificSizes,pNumFound) \
  1044. (This)->lpVtbl -> VerifySequenceOf(This,pStream,size,ofType,pSpecificSizes,pNumFound)
  1045. #endif /* COBJMACROS */
  1046. #endif /* C style interface */
  1047. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_Validate_Proxy(
  1048. ISdpStream * This,
  1049. /* [size_is][in] */ UCHAR *pStream,
  1050. /* [in] */ ULONG size,
  1051. /* [out] */ ULONG_PTR *pErrorByte);
  1052. void __RPC_STUB ISdpStream_Validate_Stub(
  1053. IRpcStubBuffer *This,
  1054. IRpcChannelBuffer *_pRpcChannelBuffer,
  1055. PRPC_MESSAGE _pRpcMessage,
  1056. DWORD *_pdwStubPhase);
  1057. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_Walk_Proxy(
  1058. ISdpStream * This,
  1059. /* [size_is][in] */ UCHAR *pStream,
  1060. /* [in] */ ULONG size,
  1061. /* [in] */ ISdpWalk *pWalk);
  1062. void __RPC_STUB ISdpStream_Walk_Stub(
  1063. IRpcStubBuffer *This,
  1064. IRpcChannelBuffer *_pRpcChannelBuffer,
  1065. PRPC_MESSAGE _pRpcMessage,
  1066. DWORD *_pdwStubPhase);
  1067. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveRecords_Proxy(
  1068. ISdpStream * This,
  1069. /* [in] */ UCHAR *pStream,
  1070. /* [in] */ ULONG size,
  1071. /* [out][in] */ ISdpRecord **ppSdpRecords,
  1072. /* [out][in] */ ULONG *pNumRecords);
  1073. void __RPC_STUB ISdpStream_RetrieveRecords_Stub(
  1074. IRpcStubBuffer *This,
  1075. IRpcChannelBuffer *_pRpcChannelBuffer,
  1076. PRPC_MESSAGE _pRpcMessage,
  1077. DWORD *_pdwStubPhase);
  1078. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveUuid128_Proxy(
  1079. ISdpStream * This,
  1080. /* [in] */ UCHAR *pStream,
  1081. /* [out] */ GUID *pUuid128);
  1082. void __RPC_STUB ISdpStream_RetrieveUuid128_Stub(
  1083. IRpcStubBuffer *This,
  1084. IRpcChannelBuffer *_pRpcChannelBuffer,
  1085. PRPC_MESSAGE _pRpcMessage,
  1086. DWORD *_pdwStubPhase);
  1087. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveUint16_Proxy(
  1088. ISdpStream * This,
  1089. /* [in] */ UCHAR *pStream,
  1090. /* [out] */ USHORT *pUint16);
  1091. void __RPC_STUB ISdpStream_RetrieveUint16_Stub(
  1092. IRpcStubBuffer *This,
  1093. IRpcChannelBuffer *_pRpcChannelBuffer,
  1094. PRPC_MESSAGE _pRpcMessage,
  1095. DWORD *_pdwStubPhase);
  1096. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveUint32_Proxy(
  1097. ISdpStream * This,
  1098. /* [in] */ UCHAR *pStream,
  1099. /* [out] */ ULONG *pUint32);
  1100. void __RPC_STUB ISdpStream_RetrieveUint32_Stub(
  1101. IRpcStubBuffer *This,
  1102. IRpcChannelBuffer *_pRpcChannelBuffer,
  1103. PRPC_MESSAGE _pRpcMessage,
  1104. DWORD *_pdwStubPhase);
  1105. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveUint64_Proxy(
  1106. ISdpStream * This,
  1107. /* [in] */ UCHAR *pStream,
  1108. /* [out] */ ULONGLONG *pUint64);
  1109. void __RPC_STUB ISdpStream_RetrieveUint64_Stub(
  1110. IRpcStubBuffer *This,
  1111. IRpcChannelBuffer *_pRpcChannelBuffer,
  1112. PRPC_MESSAGE _pRpcMessage,
  1113. DWORD *_pdwStubPhase);
  1114. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveUint128_Proxy(
  1115. ISdpStream * This,
  1116. /* [in] */ UCHAR *pStream,
  1117. /* [out] */ PSDP_ULARGE_INTEGER_16 pUint128);
  1118. void __RPC_STUB ISdpStream_RetrieveUint128_Stub(
  1119. IRpcStubBuffer *This,
  1120. IRpcChannelBuffer *_pRpcChannelBuffer,
  1121. PRPC_MESSAGE _pRpcMessage,
  1122. DWORD *_pdwStubPhase);
  1123. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveInt16_Proxy(
  1124. ISdpStream * This,
  1125. /* [in] */ UCHAR *pStream,
  1126. /* [out] */ SHORT *pInt16);
  1127. void __RPC_STUB ISdpStream_RetrieveInt16_Stub(
  1128. IRpcStubBuffer *This,
  1129. IRpcChannelBuffer *_pRpcChannelBuffer,
  1130. PRPC_MESSAGE _pRpcMessage,
  1131. DWORD *_pdwStubPhase);
  1132. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveInt32_Proxy(
  1133. ISdpStream * This,
  1134. /* [in] */ UCHAR *pStream,
  1135. /* [out] */ LONG *pInt32);
  1136. void __RPC_STUB ISdpStream_RetrieveInt32_Stub(
  1137. IRpcStubBuffer *This,
  1138. IRpcChannelBuffer *_pRpcChannelBuffer,
  1139. PRPC_MESSAGE _pRpcMessage,
  1140. DWORD *_pdwStubPhase);
  1141. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveInt64_Proxy(
  1142. ISdpStream * This,
  1143. /* [in] */ UCHAR *pStream,
  1144. /* [out] */ LONGLONG *pInt64);
  1145. void __RPC_STUB ISdpStream_RetrieveInt64_Stub(
  1146. IRpcStubBuffer *This,
  1147. IRpcChannelBuffer *_pRpcChannelBuffer,
  1148. PRPC_MESSAGE _pRpcMessage,
  1149. DWORD *_pdwStubPhase);
  1150. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveInt128_Proxy(
  1151. ISdpStream * This,
  1152. /* [in] */ UCHAR *pStream,
  1153. /* [out] */ PSDP_LARGE_INTEGER_16 pInt128);
  1154. void __RPC_STUB ISdpStream_RetrieveInt128_Stub(
  1155. IRpcStubBuffer *This,
  1156. IRpcChannelBuffer *_pRpcChannelBuffer,
  1157. PRPC_MESSAGE _pRpcMessage,
  1158. DWORD *_pdwStubPhase);
  1159. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapUuid128_Proxy(
  1160. ISdpStream * This,
  1161. /* [in] */ GUID *pInUuid128,
  1162. /* [out] */ GUID *pOutUuid128);
  1163. void __RPC_STUB ISdpStream_ByteSwapUuid128_Stub(
  1164. IRpcStubBuffer *This,
  1165. IRpcChannelBuffer *_pRpcChannelBuffer,
  1166. PRPC_MESSAGE _pRpcMessage,
  1167. DWORD *_pdwStubPhase);
  1168. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapUint128_Proxy(
  1169. ISdpStream * This,
  1170. /* [in] */ PSDP_ULARGE_INTEGER_16 pInUint128,
  1171. /* [out] */ PSDP_ULARGE_INTEGER_16 pOutUint128);
  1172. void __RPC_STUB ISdpStream_ByteSwapUint128_Stub(
  1173. IRpcStubBuffer *This,
  1174. IRpcChannelBuffer *_pRpcChannelBuffer,
  1175. PRPC_MESSAGE _pRpcMessage,
  1176. DWORD *_pdwStubPhase);
  1177. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapUint64_Proxy(
  1178. ISdpStream * This,
  1179. /* [in] */ ULONGLONG inUint64,
  1180. /* [out] */ ULONGLONG *pOutUint64);
  1181. void __RPC_STUB ISdpStream_ByteSwapUint64_Stub(
  1182. IRpcStubBuffer *This,
  1183. IRpcChannelBuffer *_pRpcChannelBuffer,
  1184. PRPC_MESSAGE _pRpcMessage,
  1185. DWORD *_pdwStubPhase);
  1186. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapUint32_Proxy(
  1187. ISdpStream * This,
  1188. /* [in] */ ULONG uint32,
  1189. /* [out] */ ULONG *pUint32);
  1190. void __RPC_STUB ISdpStream_ByteSwapUint32_Stub(
  1191. IRpcStubBuffer *This,
  1192. IRpcChannelBuffer *_pRpcChannelBuffer,
  1193. PRPC_MESSAGE _pRpcMessage,
  1194. DWORD *_pdwStubPhase);
  1195. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapUint16_Proxy(
  1196. ISdpStream * This,
  1197. /* [in] */ USHORT uint16,
  1198. /* [out] */ USHORT *pUint16);
  1199. void __RPC_STUB ISdpStream_ByteSwapUint16_Stub(
  1200. IRpcStubBuffer *This,
  1201. IRpcChannelBuffer *_pRpcChannelBuffer,
  1202. PRPC_MESSAGE _pRpcMessage,
  1203. DWORD *_pdwStubPhase);
  1204. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapInt128_Proxy(
  1205. ISdpStream * This,
  1206. /* [in] */ PSDP_LARGE_INTEGER_16 pInInt128,
  1207. /* [out] */ PSDP_LARGE_INTEGER_16 pOutInt128);
  1208. void __RPC_STUB ISdpStream_ByteSwapInt128_Stub(
  1209. IRpcStubBuffer *This,
  1210. IRpcChannelBuffer *_pRpcChannelBuffer,
  1211. PRPC_MESSAGE _pRpcMessage,
  1212. DWORD *_pdwStubPhase);
  1213. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapInt64_Proxy(
  1214. ISdpStream * This,
  1215. /* [in] */ LONGLONG inInt64,
  1216. /* [out] */ LONGLONG *pOutInt64);
  1217. void __RPC_STUB ISdpStream_ByteSwapInt64_Stub(
  1218. IRpcStubBuffer *This,
  1219. IRpcChannelBuffer *_pRpcChannelBuffer,
  1220. PRPC_MESSAGE _pRpcMessage,
  1221. DWORD *_pdwStubPhase);
  1222. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapInt32_Proxy(
  1223. ISdpStream * This,
  1224. /* [in] */ LONG int32,
  1225. /* [out] */ LONG *pInt32);
  1226. void __RPC_STUB ISdpStream_ByteSwapInt32_Stub(
  1227. IRpcStubBuffer *This,
  1228. IRpcChannelBuffer *_pRpcChannelBuffer,
  1229. PRPC_MESSAGE _pRpcMessage,
  1230. DWORD *_pdwStubPhase);
  1231. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_ByteSwapInt16_Proxy(
  1232. ISdpStream * This,
  1233. /* [in] */ SHORT int16,
  1234. /* [out] */ SHORT *pInt16);
  1235. void __RPC_STUB ISdpStream_ByteSwapInt16_Stub(
  1236. IRpcStubBuffer *This,
  1237. IRpcChannelBuffer *_pRpcChannelBuffer,
  1238. PRPC_MESSAGE _pRpcMessage,
  1239. DWORD *_pdwStubPhase);
  1240. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_NormalizeUuid_Proxy(
  1241. ISdpStream * This,
  1242. /* [in] */ NodeData *pDataUuid,
  1243. /* [out] */ GUID *pNormalizeUuid);
  1244. void __RPC_STUB ISdpStream_NormalizeUuid_Stub(
  1245. IRpcStubBuffer *This,
  1246. IRpcChannelBuffer *_pRpcChannelBuffer,
  1247. PRPC_MESSAGE _pRpcMessage,
  1248. DWORD *_pdwStubPhase);
  1249. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_RetrieveElementInfo_Proxy(
  1250. ISdpStream * This,
  1251. /* [in] */ UCHAR *pStream,
  1252. /* [out] */ SDP_TYPE *pElementType,
  1253. /* [out] */ SDP_SPECIFICTYPE *pElementSpecificType,
  1254. /* [out] */ ULONG *pElementSize,
  1255. /* [out] */ ULONG *pStorageSize,
  1256. /* [out] */ UCHAR **ppData);
  1257. void __RPC_STUB ISdpStream_RetrieveElementInfo_Stub(
  1258. IRpcStubBuffer *This,
  1259. IRpcChannelBuffer *_pRpcChannelBuffer,
  1260. PRPC_MESSAGE _pRpcMessage,
  1261. DWORD *_pdwStubPhase);
  1262. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpStream_VerifySequenceOf_Proxy(
  1263. ISdpStream * This,
  1264. /* [in] */ UCHAR *pStream,
  1265. /* [in] */ ULONG size,
  1266. /* [in] */ SDP_TYPE ofType,
  1267. /* [in] */ UCHAR *pSpecificSizes,
  1268. /* [out] */ ULONG *pNumFound);
  1269. void __RPC_STUB ISdpStream_VerifySequenceOf_Stub(
  1270. IRpcStubBuffer *This,
  1271. IRpcChannelBuffer *_pRpcChannelBuffer,
  1272. PRPC_MESSAGE _pRpcMessage,
  1273. DWORD *_pdwStubPhase);
  1274. #endif /* __ISdpStream_INTERFACE_DEFINED__ */
  1275. #ifndef __ISdpRecord_INTERFACE_DEFINED__
  1276. #define __ISdpRecord_INTERFACE_DEFINED__
  1277. /* interface ISdpRecord */
  1278. /* [unique][helpstring][uuid][object] */
  1279. EXTERN_C const IID IID_ISdpRecord;
  1280. #if defined(__cplusplus) && !defined(CINTERFACE)
  1281. MIDL_INTERFACE("10276714-1456-46D7-B526-8B1E83D5116E")
  1282. ISdpRecord : public IUnknown
  1283. {
  1284. public:
  1285. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFromStream(
  1286. /* [size_is][in] */ UCHAR *pStream,
  1287. /* [in] */ ULONG size) = 0;
  1288. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE WriteToStream(
  1289. /* [out] */ UCHAR **ppStream,
  1290. /* [out] */ ULONG *pStreamSize,
  1291. ULONG preSize,
  1292. ULONG postSize) = 0;
  1293. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAttribute(
  1294. /* [in] */ USHORT attribute,
  1295. /* [in] */ NodeData *pNode) = 0;
  1296. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetAttributeFromStream(
  1297. /* [in] */ USHORT attribute,
  1298. /* [size_is][in] */ UCHAR *pStream,
  1299. /* [in] */ ULONG size) = 0;
  1300. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttribute(
  1301. /* [in] */ USHORT attribute,
  1302. /* [out][in] */ NodeData *pNode) = 0;
  1303. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributeAsStream(
  1304. /* [in] */ USHORT attribute,
  1305. /* [out] */ UCHAR **ppStream,
  1306. /* [out] */ ULONG *pSize) = 0;
  1307. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Walk(
  1308. /* [in] */ ISdpWalk *pWalk) = 0;
  1309. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetAttributeList(
  1310. /* [out] */ USHORT **ppList,
  1311. /* [out] */ ULONG *pListSize) = 0;
  1312. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetString(
  1313. USHORT offset,
  1314. USHORT *pLangId,
  1315. WCHAR **ppString) = 0;
  1316. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIcon(
  1317. int cxRes,
  1318. int cyRes,
  1319. HICON *phIcon) = 0;
  1320. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetServiceClass(
  1321. /* [out] */ LPGUID pServiceClass) = 0;
  1322. };
  1323. #else /* C style interface */
  1324. typedef struct ISdpRecordVtbl
  1325. {
  1326. BEGIN_INTERFACE
  1327. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1328. ISdpRecord * This,
  1329. /* [in] */ REFIID riid,
  1330. /* [iid_is][out] */ void **ppvObject);
  1331. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1332. ISdpRecord * This);
  1333. ULONG ( STDMETHODCALLTYPE *Release )(
  1334. ISdpRecord * This);
  1335. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateFromStream )(
  1336. ISdpRecord * This,
  1337. /* [size_is][in] */ UCHAR *pStream,
  1338. /* [in] */ ULONG size);
  1339. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *WriteToStream )(
  1340. ISdpRecord * This,
  1341. /* [out] */ UCHAR **ppStream,
  1342. /* [out] */ ULONG *pStreamSize,
  1343. ULONG preSize,
  1344. ULONG postSize);
  1345. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttribute )(
  1346. ISdpRecord * This,
  1347. /* [in] */ USHORT attribute,
  1348. /* [in] */ NodeData *pNode);
  1349. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetAttributeFromStream )(
  1350. ISdpRecord * This,
  1351. /* [in] */ USHORT attribute,
  1352. /* [size_is][in] */ UCHAR *pStream,
  1353. /* [in] */ ULONG size);
  1354. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttribute )(
  1355. ISdpRecord * This,
  1356. /* [in] */ USHORT attribute,
  1357. /* [out][in] */ NodeData *pNode);
  1358. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeAsStream )(
  1359. ISdpRecord * This,
  1360. /* [in] */ USHORT attribute,
  1361. /* [out] */ UCHAR **ppStream,
  1362. /* [out] */ ULONG *pSize);
  1363. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Walk )(
  1364. ISdpRecord * This,
  1365. /* [in] */ ISdpWalk *pWalk);
  1366. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetAttributeList )(
  1367. ISdpRecord * This,
  1368. /* [out] */ USHORT **ppList,
  1369. /* [out] */ ULONG *pListSize);
  1370. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetString )(
  1371. ISdpRecord * This,
  1372. USHORT offset,
  1373. USHORT *pLangId,
  1374. WCHAR **ppString);
  1375. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIcon )(
  1376. ISdpRecord * This,
  1377. int cxRes,
  1378. int cyRes,
  1379. HICON *phIcon);
  1380. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetServiceClass )(
  1381. ISdpRecord * This,
  1382. /* [out] */ LPGUID pServiceClass);
  1383. END_INTERFACE
  1384. } ISdpRecordVtbl;
  1385. interface ISdpRecord
  1386. {
  1387. CONST_VTBL struct ISdpRecordVtbl *lpVtbl;
  1388. };
  1389. #ifdef COBJMACROS
  1390. #define ISdpRecord_QueryInterface(This,riid,ppvObject) \
  1391. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1392. #define ISdpRecord_AddRef(This) \
  1393. (This)->lpVtbl -> AddRef(This)
  1394. #define ISdpRecord_Release(This) \
  1395. (This)->lpVtbl -> Release(This)
  1396. #define ISdpRecord_CreateFromStream(This,pStream,size) \
  1397. (This)->lpVtbl -> CreateFromStream(This,pStream,size)
  1398. #define ISdpRecord_WriteToStream(This,ppStream,pStreamSize,preSize,postSize) \
  1399. (This)->lpVtbl -> WriteToStream(This,ppStream,pStreamSize,preSize,postSize)
  1400. #define ISdpRecord_SetAttribute(This,attribute,pNode) \
  1401. (This)->lpVtbl -> SetAttribute(This,attribute,pNode)
  1402. #define ISdpRecord_SetAttributeFromStream(This,attribute,pStream,size) \
  1403. (This)->lpVtbl -> SetAttributeFromStream(This,attribute,pStream,size)
  1404. #define ISdpRecord_GetAttribute(This,attribute,pNode) \
  1405. (This)->lpVtbl -> GetAttribute(This,attribute,pNode)
  1406. #define ISdpRecord_GetAttributeAsStream(This,attribute,ppStream,pSize) \
  1407. (This)->lpVtbl -> GetAttributeAsStream(This,attribute,ppStream,pSize)
  1408. #define ISdpRecord_Walk(This,pWalk) \
  1409. (This)->lpVtbl -> Walk(This,pWalk)
  1410. #define ISdpRecord_GetAttributeList(This,ppList,pListSize) \
  1411. (This)->lpVtbl -> GetAttributeList(This,ppList,pListSize)
  1412. #define ISdpRecord_GetString(This,offset,pLangId,ppString) \
  1413. (This)->lpVtbl -> GetString(This,offset,pLangId,ppString)
  1414. #define ISdpRecord_GetIcon(This,cxRes,cyRes,phIcon) \
  1415. (This)->lpVtbl -> GetIcon(This,cxRes,cyRes,phIcon)
  1416. #define ISdpRecord_GetServiceClass(This,pServiceClass) \
  1417. (This)->lpVtbl -> GetServiceClass(This,pServiceClass)
  1418. #endif /* COBJMACROS */
  1419. #endif /* C style interface */
  1420. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_CreateFromStream_Proxy(
  1421. ISdpRecord * This,
  1422. /* [size_is][in] */ UCHAR *pStream,
  1423. /* [in] */ ULONG size);
  1424. void __RPC_STUB ISdpRecord_CreateFromStream_Stub(
  1425. IRpcStubBuffer *This,
  1426. IRpcChannelBuffer *_pRpcChannelBuffer,
  1427. PRPC_MESSAGE _pRpcMessage,
  1428. DWORD *_pdwStubPhase);
  1429. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_WriteToStream_Proxy(
  1430. ISdpRecord * This,
  1431. /* [out] */ UCHAR **ppStream,
  1432. /* [out] */ ULONG *pStreamSize,
  1433. ULONG preSize,
  1434. ULONG postSize);
  1435. void __RPC_STUB ISdpRecord_WriteToStream_Stub(
  1436. IRpcStubBuffer *This,
  1437. IRpcChannelBuffer *_pRpcChannelBuffer,
  1438. PRPC_MESSAGE _pRpcMessage,
  1439. DWORD *_pdwStubPhase);
  1440. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_SetAttribute_Proxy(
  1441. ISdpRecord * This,
  1442. /* [in] */ USHORT attribute,
  1443. /* [in] */ NodeData *pNode);
  1444. void __RPC_STUB ISdpRecord_SetAttribute_Stub(
  1445. IRpcStubBuffer *This,
  1446. IRpcChannelBuffer *_pRpcChannelBuffer,
  1447. PRPC_MESSAGE _pRpcMessage,
  1448. DWORD *_pdwStubPhase);
  1449. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_SetAttributeFromStream_Proxy(
  1450. ISdpRecord * This,
  1451. /* [in] */ USHORT attribute,
  1452. /* [size_is][in] */ UCHAR *pStream,
  1453. /* [in] */ ULONG size);
  1454. void __RPC_STUB ISdpRecord_SetAttributeFromStream_Stub(
  1455. IRpcStubBuffer *This,
  1456. IRpcChannelBuffer *_pRpcChannelBuffer,
  1457. PRPC_MESSAGE _pRpcMessage,
  1458. DWORD *_pdwStubPhase);
  1459. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_GetAttribute_Proxy(
  1460. ISdpRecord * This,
  1461. /* [in] */ USHORT attribute,
  1462. /* [out][in] */ NodeData *pNode);
  1463. void __RPC_STUB ISdpRecord_GetAttribute_Stub(
  1464. IRpcStubBuffer *This,
  1465. IRpcChannelBuffer *_pRpcChannelBuffer,
  1466. PRPC_MESSAGE _pRpcMessage,
  1467. DWORD *_pdwStubPhase);
  1468. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_GetAttributeAsStream_Proxy(
  1469. ISdpRecord * This,
  1470. /* [in] */ USHORT attribute,
  1471. /* [out] */ UCHAR **ppStream,
  1472. /* [out] */ ULONG *pSize);
  1473. void __RPC_STUB ISdpRecord_GetAttributeAsStream_Stub(
  1474. IRpcStubBuffer *This,
  1475. IRpcChannelBuffer *_pRpcChannelBuffer,
  1476. PRPC_MESSAGE _pRpcMessage,
  1477. DWORD *_pdwStubPhase);
  1478. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_Walk_Proxy(
  1479. ISdpRecord * This,
  1480. /* [in] */ ISdpWalk *pWalk);
  1481. void __RPC_STUB ISdpRecord_Walk_Stub(
  1482. IRpcStubBuffer *This,
  1483. IRpcChannelBuffer *_pRpcChannelBuffer,
  1484. PRPC_MESSAGE _pRpcMessage,
  1485. DWORD *_pdwStubPhase);
  1486. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_GetAttributeList_Proxy(
  1487. ISdpRecord * This,
  1488. /* [out] */ USHORT **ppList,
  1489. /* [out] */ ULONG *pListSize);
  1490. void __RPC_STUB ISdpRecord_GetAttributeList_Stub(
  1491. IRpcStubBuffer *This,
  1492. IRpcChannelBuffer *_pRpcChannelBuffer,
  1493. PRPC_MESSAGE _pRpcMessage,
  1494. DWORD *_pdwStubPhase);
  1495. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_GetString_Proxy(
  1496. ISdpRecord * This,
  1497. USHORT offset,
  1498. USHORT *pLangId,
  1499. WCHAR **ppString);
  1500. void __RPC_STUB ISdpRecord_GetString_Stub(
  1501. IRpcStubBuffer *This,
  1502. IRpcChannelBuffer *_pRpcChannelBuffer,
  1503. PRPC_MESSAGE _pRpcMessage,
  1504. DWORD *_pdwStubPhase);
  1505. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_GetIcon_Proxy(
  1506. ISdpRecord * This,
  1507. int cxRes,
  1508. int cyRes,
  1509. HICON *phIcon);
  1510. void __RPC_STUB ISdpRecord_GetIcon_Stub(
  1511. IRpcStubBuffer *This,
  1512. IRpcChannelBuffer *_pRpcChannelBuffer,
  1513. PRPC_MESSAGE _pRpcMessage,
  1514. DWORD *_pdwStubPhase);
  1515. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ISdpRecord_GetServiceClass_Proxy(
  1516. ISdpRecord * This,
  1517. /* [out] */ LPGUID pServiceClass);
  1518. void __RPC_STUB ISdpRecord_GetServiceClass_Stub(
  1519. IRpcStubBuffer *This,
  1520. IRpcChannelBuffer *_pRpcChannelBuffer,
  1521. PRPC_MESSAGE _pRpcMessage,
  1522. DWORD *_pdwStubPhase);
  1523. #endif /* __ISdpRecord_INTERFACE_DEFINED__ */
  1524. #ifndef __IBluetoothDevice_INTERFACE_DEFINED__
  1525. #define __IBluetoothDevice_INTERFACE_DEFINED__
  1526. /* interface IBluetoothDevice */
  1527. /* [unique][helpstring][uuid][object] */
  1528. EXTERN_C const IID IID_IBluetoothDevice;
  1529. #if defined(__cplusplus) && !defined(CINTERFACE)
  1530. MIDL_INTERFACE("5BD0418B-D705-4766-B215-183E4EADE341")
  1531. IBluetoothDevice : public IUnknown
  1532. {
  1533. public:
  1534. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize(
  1535. const PBTH_DEVICE_INFO pInfo) = 0;
  1536. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInfo(
  1537. PBTH_DEVICE_INFO pInfo) = 0;
  1538. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetString(
  1539. enum BthDeviceStringType type,
  1540. WCHAR **ppString) = 0;
  1541. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetString(
  1542. enum BthDeviceStringType type,
  1543. WCHAR *ppString) = 0;
  1544. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIcon(
  1545. int cxRes,
  1546. int cyRes,
  1547. HICON *phIcon) = 0;
  1548. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetApprovedServices(
  1549. GUID *pServices,
  1550. ULONG *pServiceCount) = 0;
  1551. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPassKey(
  1552. HWND hwndParent,
  1553. UCHAR *pPassKey,
  1554. UCHAR *pPassKeyLength) = 0;
  1555. };
  1556. #else /* C style interface */
  1557. typedef struct IBluetoothDeviceVtbl
  1558. {
  1559. BEGIN_INTERFACE
  1560. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1561. IBluetoothDevice * This,
  1562. /* [in] */ REFIID riid,
  1563. /* [iid_is][out] */ void **ppvObject);
  1564. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1565. IBluetoothDevice * This);
  1566. ULONG ( STDMETHODCALLTYPE *Release )(
  1567. IBluetoothDevice * This);
  1568. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )(
  1569. IBluetoothDevice * This,
  1570. const PBTH_DEVICE_INFO pInfo);
  1571. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  1572. IBluetoothDevice * This,
  1573. PBTH_DEVICE_INFO pInfo);
  1574. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetString )(
  1575. IBluetoothDevice * This,
  1576. enum BthDeviceStringType type,
  1577. WCHAR **ppString);
  1578. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetString )(
  1579. IBluetoothDevice * This,
  1580. enum BthDeviceStringType type,
  1581. WCHAR *ppString);
  1582. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetIcon )(
  1583. IBluetoothDevice * This,
  1584. int cxRes,
  1585. int cyRes,
  1586. HICON *phIcon);
  1587. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetApprovedServices )(
  1588. IBluetoothDevice * This,
  1589. GUID *pServices,
  1590. ULONG *pServiceCount);
  1591. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPassKey )(
  1592. IBluetoothDevice * This,
  1593. HWND hwndParent,
  1594. UCHAR *pPassKey,
  1595. UCHAR *pPassKeyLength);
  1596. END_INTERFACE
  1597. } IBluetoothDeviceVtbl;
  1598. interface IBluetoothDevice
  1599. {
  1600. CONST_VTBL struct IBluetoothDeviceVtbl *lpVtbl;
  1601. };
  1602. #ifdef COBJMACROS
  1603. #define IBluetoothDevice_QueryInterface(This,riid,ppvObject) \
  1604. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1605. #define IBluetoothDevice_AddRef(This) \
  1606. (This)->lpVtbl -> AddRef(This)
  1607. #define IBluetoothDevice_Release(This) \
  1608. (This)->lpVtbl -> Release(This)
  1609. #define IBluetoothDevice_Initialize(This,pInfo) \
  1610. (This)->lpVtbl -> Initialize(This,pInfo)
  1611. #define IBluetoothDevice_GetInfo(This,pInfo) \
  1612. (This)->lpVtbl -> GetInfo(This,pInfo)
  1613. #define IBluetoothDevice_GetString(This,type,ppString) \
  1614. (This)->lpVtbl -> GetString(This,type,ppString)
  1615. #define IBluetoothDevice_SetString(This,type,ppString) \
  1616. (This)->lpVtbl -> SetString(This,type,ppString)
  1617. #define IBluetoothDevice_GetIcon(This,cxRes,cyRes,phIcon) \
  1618. (This)->lpVtbl -> GetIcon(This,cxRes,cyRes,phIcon)
  1619. #define IBluetoothDevice_GetApprovedServices(This,pServices,pServiceCount) \
  1620. (This)->lpVtbl -> GetApprovedServices(This,pServices,pServiceCount)
  1621. #define IBluetoothDevice_GetPassKey(This,hwndParent,pPassKey,pPassKeyLength) \
  1622. (This)->lpVtbl -> GetPassKey(This,hwndParent,pPassKey,pPassKeyLength)
  1623. #endif /* COBJMACROS */
  1624. #endif /* C style interface */
  1625. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBluetoothDevice_Initialize_Proxy(
  1626. IBluetoothDevice * This,
  1627. const PBTH_DEVICE_INFO pInfo);
  1628. void __RPC_STUB IBluetoothDevice_Initialize_Stub(
  1629. IRpcStubBuffer *This,
  1630. IRpcChannelBuffer *_pRpcChannelBuffer,
  1631. PRPC_MESSAGE _pRpcMessage,
  1632. DWORD *_pdwStubPhase);
  1633. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBluetoothDevice_GetInfo_Proxy(
  1634. IBluetoothDevice * This,
  1635. PBTH_DEVICE_INFO pInfo);
  1636. void __RPC_STUB IBluetoothDevice_GetInfo_Stub(
  1637. IRpcStubBuffer *This,
  1638. IRpcChannelBuffer *_pRpcChannelBuffer,
  1639. PRPC_MESSAGE _pRpcMessage,
  1640. DWORD *_pdwStubPhase);
  1641. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBluetoothDevice_GetString_Proxy(
  1642. IBluetoothDevice * This,
  1643. enum BthDeviceStringType type,
  1644. WCHAR **ppString);
  1645. void __RPC_STUB IBluetoothDevice_GetString_Stub(
  1646. IRpcStubBuffer *This,
  1647. IRpcChannelBuffer *_pRpcChannelBuffer,
  1648. PRPC_MESSAGE _pRpcMessage,
  1649. DWORD *_pdwStubPhase);
  1650. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBluetoothDevice_SetString_Proxy(
  1651. IBluetoothDevice * This,
  1652. enum BthDeviceStringType type,
  1653. WCHAR *ppString);
  1654. void __RPC_STUB IBluetoothDevice_SetString_Stub(
  1655. IRpcStubBuffer *This,
  1656. IRpcChannelBuffer *_pRpcChannelBuffer,
  1657. PRPC_MESSAGE _pRpcMessage,
  1658. DWORD *_pdwStubPhase);
  1659. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBluetoothDevice_GetIcon_Proxy(
  1660. IBluetoothDevice * This,
  1661. int cxRes,
  1662. int cyRes,
  1663. HICON *phIcon);
  1664. void __RPC_STUB IBluetoothDevice_GetIcon_Stub(
  1665. IRpcStubBuffer *This,
  1666. IRpcChannelBuffer *_pRpcChannelBuffer,
  1667. PRPC_MESSAGE _pRpcMessage,
  1668. DWORD *_pdwStubPhase);
  1669. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBluetoothDevice_GetApprovedServices_Proxy(
  1670. IBluetoothDevice * This,
  1671. GUID *pServices,
  1672. ULONG *pServiceCount);
  1673. void __RPC_STUB IBluetoothDevice_GetApprovedServices_Stub(
  1674. IRpcStubBuffer *This,
  1675. IRpcChannelBuffer *_pRpcChannelBuffer,
  1676. PRPC_MESSAGE _pRpcMessage,
  1677. DWORD *_pdwStubPhase);
  1678. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IBluetoothDevice_GetPassKey_Proxy(
  1679. IBluetoothDevice * This,
  1680. HWND hwndParent,
  1681. UCHAR *pPassKey,
  1682. UCHAR *pPassKeyLength);
  1683. void __RPC_STUB IBluetoothDevice_GetPassKey_Stub(
  1684. IRpcStubBuffer *This,
  1685. IRpcChannelBuffer *_pRpcChannelBuffer,
  1686. PRPC_MESSAGE _pRpcMessage,
  1687. DWORD *_pdwStubPhase);
  1688. #endif /* __IBluetoothDevice_INTERFACE_DEFINED__ */
  1689. #ifndef __IBluetoothAuthenticate_INTERFACE_DEFINED__
  1690. #define __IBluetoothAuthenticate_INTERFACE_DEFINED__
  1691. /* interface IBluetoothAuthenticate */
  1692. /* [unique][helpstring][uuid][object] */
  1693. EXTERN_C const IID IID_IBluetoothAuthenticate;
  1694. #if defined(__cplusplus) && !defined(CINTERFACE)
  1695. MIDL_INTERFACE("5F0FBA2B-8300-429D-99AD-96A2835D4901")
  1696. IBluetoothAuthenticate : public IUnknown
  1697. {
  1698. public:
  1699. };
  1700. #else /* C style interface */
  1701. typedef struct IBluetoothAuthenticateVtbl
  1702. {
  1703. BEGIN_INTERFACE
  1704. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1705. IBluetoothAuthenticate * This,
  1706. /* [in] */ REFIID riid,
  1707. /* [iid_is][out] */ void **ppvObject);
  1708. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1709. IBluetoothAuthenticate * This);
  1710. ULONG ( STDMETHODCALLTYPE *Release )(
  1711. IBluetoothAuthenticate * This);
  1712. END_INTERFACE
  1713. } IBluetoothAuthenticateVtbl;
  1714. interface IBluetoothAuthenticate
  1715. {
  1716. CONST_VTBL struct IBluetoothAuthenticateVtbl *lpVtbl;
  1717. };
  1718. #ifdef COBJMACROS
  1719. #define IBluetoothAuthenticate_QueryInterface(This,riid,ppvObject) \
  1720. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1721. #define IBluetoothAuthenticate_AddRef(This) \
  1722. (This)->lpVtbl -> AddRef(This)
  1723. #define IBluetoothAuthenticate_Release(This) \
  1724. (This)->lpVtbl -> Release(This)
  1725. #endif /* COBJMACROS */
  1726. #endif /* C style interface */
  1727. #endif /* __IBluetoothAuthenticate_INTERFACE_DEFINED__ */
  1728. #ifndef __BTHAPILib_LIBRARY_DEFINED__
  1729. #define __BTHAPILib_LIBRARY_DEFINED__
  1730. /* library BTHAPILib */
  1731. /* [helpstring][version][uuid] */
  1732. EXTERN_C const IID LIBID_BTHAPILib;
  1733. EXTERN_C const CLSID CLSID_SdpNodeContainer;
  1734. #ifdef __cplusplus
  1735. class DECLSPEC_UUID("51002954-D4E4-4507-B480-1B8454347CDC")
  1736. SdpNodeContainer;
  1737. #endif
  1738. EXTERN_C const CLSID CLSID_SdpSearch;
  1739. #ifdef __cplusplus
  1740. class DECLSPEC_UUID("8330E81E-F3CB-4EDC-95FA-676BFBC0580B")
  1741. SdpSearch;
  1742. #endif
  1743. EXTERN_C const CLSID CLSID_SdpWalk;
  1744. #ifdef __cplusplus
  1745. class DECLSPEC_UUID("29A852AB-FEFB-426F-B991-9618B1B88D5B")
  1746. SdpWalk;
  1747. #endif
  1748. EXTERN_C const CLSID CLSID_SdpStream;
  1749. #ifdef __cplusplus
  1750. class DECLSPEC_UUID("D47A9493-FBBA-4E02-A532-E865CBBE0023")
  1751. SdpStream;
  1752. #endif
  1753. EXTERN_C const CLSID CLSID_SdpRecord;
  1754. #ifdef __cplusplus
  1755. class DECLSPEC_UUID("238CACDA-2346-4748-B3EE-F12782772DFC")
  1756. SdpRecord;
  1757. #endif
  1758. EXTERN_C const CLSID CLSID_ShellPropSheetExt;
  1759. #ifdef __cplusplus
  1760. class DECLSPEC_UUID("6fb95bcb-a682-4635-b07e-22435174b893")
  1761. ShellPropSheetExt;
  1762. #endif
  1763. EXTERN_C const CLSID CLSID_BluetoothAuthenticate;
  1764. #ifdef __cplusplus
  1765. class DECLSPEC_UUID("B25EDF40-5EBE-4590-A690-A42B13C9E8E1")
  1766. BluetoothAuthenticate;
  1767. #endif
  1768. EXTERN_C const CLSID CLSID_BluetoothDevice;
  1769. #ifdef __cplusplus
  1770. class DECLSPEC_UUID("DA39B330-7F45-433A-A19D-33393017662C")
  1771. BluetoothDevice;
  1772. #endif
  1773. #endif /* __BTHAPILib_LIBRARY_DEFINED__ */
  1774. /* Additional Prototypes for ALL interfaces */
  1775. unsigned long __RPC_USER HICON_UserSize( unsigned long *, unsigned long , HICON * );
  1776. unsigned char * __RPC_USER HICON_UserMarshal( unsigned long *, unsigned char *, HICON * );
  1777. unsigned char * __RPC_USER HICON_UserUnmarshal(unsigned long *, unsigned char *, HICON * );
  1778. void __RPC_USER HICON_UserFree( unsigned long *, HICON * );
  1779. unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
  1780. unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
  1781. unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
  1782. void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
  1783. /* end of Additional Prototypes */
  1784. #ifdef __cplusplus
  1785. }
  1786. #endif
  1787. #endif