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.

1534 lines
49 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 5.01.0164 */
  3. /* at Wed Jun 30 16:43:31 1999
  4. */
  5. /* Compiler settings for vdi.idl:
  6. Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. */
  9. //@@MIDL_FILE_HEADING( )
  10. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  11. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  12. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  13. #endif
  14. #include "rpc.h"
  15. #include "rpcndr.h"
  16. #ifndef __RPCNDR_H_VERSION__
  17. #error this stub requires an updated version of <rpcndr.h>
  18. #endif // __RPCNDR_H_VERSION__
  19. #ifndef COM_NO_WINDOWS_H
  20. #include "windows.h"
  21. #include "ole2.h"
  22. #endif /*COM_NO_WINDOWS_H*/
  23. #ifndef __vdi_h__
  24. #define __vdi_h__
  25. #ifdef __cplusplus
  26. extern "C"{
  27. #endif
  28. /* Forward Declarations */
  29. #ifndef __IClientVirtualDevice_FWD_DEFINED__
  30. #define __IClientVirtualDevice_FWD_DEFINED__
  31. typedef interface IClientVirtualDevice IClientVirtualDevice;
  32. #endif /* __IClientVirtualDevice_FWD_DEFINED__ */
  33. #ifndef __IClientVirtualDeviceSet_FWD_DEFINED__
  34. #define __IClientVirtualDeviceSet_FWD_DEFINED__
  35. typedef interface IClientVirtualDeviceSet IClientVirtualDeviceSet;
  36. #endif /* __IClientVirtualDeviceSet_FWD_DEFINED__ */
  37. #ifndef __IClientVirtualDeviceSet2_FWD_DEFINED__
  38. #define __IClientVirtualDeviceSet2_FWD_DEFINED__
  39. typedef interface IClientVirtualDeviceSet2 IClientVirtualDeviceSet2;
  40. #endif /* __IClientVirtualDeviceSet2_FWD_DEFINED__ */
  41. #ifndef __IServerVirtualDevice_FWD_DEFINED__
  42. #define __IServerVirtualDevice_FWD_DEFINED__
  43. typedef interface IServerVirtualDevice IServerVirtualDevice;
  44. #endif /* __IServerVirtualDevice_FWD_DEFINED__ */
  45. #ifndef __IServerVirtualDeviceSet_FWD_DEFINED__
  46. #define __IServerVirtualDeviceSet_FWD_DEFINED__
  47. typedef interface IServerVirtualDeviceSet IServerVirtualDeviceSet;
  48. #endif /* __IServerVirtualDeviceSet_FWD_DEFINED__ */
  49. #ifndef __IServerVirtualDeviceSet2_FWD_DEFINED__
  50. #define __IServerVirtualDeviceSet2_FWD_DEFINED__
  51. typedef interface IServerVirtualDeviceSet2 IServerVirtualDeviceSet2;
  52. #endif /* __IServerVirtualDeviceSet2_FWD_DEFINED__ */
  53. /* header files for imported files */
  54. #include "unknwn.h"
  55. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  56. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  57. /* interface __MIDL_itf_vdi_0000 */
  58. /* [local] */
  59. #pragma pack(push, _vdi_h_)
  60. #pragma pack(8)
  61. struct VDConfig
  62. {
  63. unsigned long deviceCount;
  64. unsigned long features;
  65. unsigned long prefixZoneSize;
  66. unsigned long alignment;
  67. unsigned long softFileMarkBlockSize;
  68. unsigned long EOMWarningSize;
  69. unsigned long serverTimeOut;
  70. unsigned long blockSize;
  71. unsigned long maxIODepth;
  72. unsigned long maxTransferSize;
  73. unsigned long bufferAreaSize;
  74. };
  75. enum VDFeatures
  76. { VDF_Removable = 0x1,
  77. VDF_Rewind = 0x2,
  78. VDF_Position = 0x10,
  79. VDF_SkipBlocks = 0x20,
  80. VDF_ReversePosition = 0x40,
  81. VDF_Discard = 0x80,
  82. VDF_FileMarks = 0x100,
  83. VDF_RandomAccess = 0x200,
  84. VDF_WriteMedia = 0x10000,
  85. VDF_ReadMedia = 0x20000,
  86. VDF_LatchStats = 0x80000000,
  87. VDF_LikePipe = 0,
  88. VDF_LikeTape = VDF_FileMarks | VDF_Removable | VDF_Rewind | VDF_Position | VDF_SkipBlocks | VDF_ReversePosition,
  89. VDF_LikeDisk = VDF_RandomAccess
  90. };
  91. enum VDCommands
  92. { VDC_Read = 1,
  93. VDC_Write = VDC_Read + 1,
  94. VDC_ClearError = VDC_Write + 1,
  95. VDC_Rewind = VDC_ClearError + 1,
  96. VDC_WriteMark = VDC_Rewind + 1,
  97. VDC_SkipMarks = VDC_WriteMark + 1,
  98. VDC_SkipBlocks = VDC_SkipMarks + 1,
  99. VDC_Load = VDC_SkipBlocks + 1,
  100. VDC_GetPosition = VDC_Load + 1,
  101. VDC_SetPosition = VDC_GetPosition + 1,
  102. VDC_Discard = VDC_SetPosition + 1,
  103. VDC_Flush = VDC_Discard + 1,
  104. VDC_Snapshot = VDC_Flush + 1,
  105. VDC_MountSnapshot = VDC_Snapshot + 1
  106. };
  107. enum VDWhence
  108. { VDC_Beginning = 0,
  109. VDC_Current = VDC_Beginning + 1,
  110. VDC_End = VDC_Current + 1
  111. };
  112. struct VDC_Command
  113. {
  114. DWORD commandCode;
  115. DWORD size;
  116. DWORDLONG position;
  117. BYTE __RPC_FAR *buffer;
  118. };
  119. extern RPC_IF_HANDLE __MIDL_itf_vdi_0000_v0_0_c_ifspec;
  120. extern RPC_IF_HANDLE __MIDL_itf_vdi_0000_v0_0_s_ifspec;
  121. #ifndef __IClientVirtualDevice_INTERFACE_DEFINED__
  122. #define __IClientVirtualDevice_INTERFACE_DEFINED__
  123. /* interface IClientVirtualDevice */
  124. /* [object][uuid] */
  125. EXTERN_C const IID IID_IClientVirtualDevice;
  126. #if defined(__cplusplus) && !defined(CINTERFACE)
  127. MIDL_INTERFACE("40700424-0080-11d2-851f-00c04fc21759")
  128. IClientVirtualDevice : public IUnknown
  129. {
  130. public:
  131. virtual HRESULT STDMETHODCALLTYPE GetCommand(
  132. /* [in] */ DWORD dwTimeOut,
  133. /* [out] */ struct VDC_Command __RPC_FAR *__RPC_FAR *ppCmd) = 0;
  134. virtual HRESULT STDMETHODCALLTYPE CompleteCommand(
  135. /* [in] */ struct VDC_Command __RPC_FAR *pCmd,
  136. /* [in] */ DWORD dwCompletionCode,
  137. /* [in] */ DWORD dwBytesTransferred,
  138. /* [in] */ DWORDLONG dwlPosition) = 0;
  139. };
  140. #else /* C style interface */
  141. typedef struct IClientVirtualDeviceVtbl
  142. {
  143. BEGIN_INTERFACE
  144. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  145. IClientVirtualDevice __RPC_FAR * This,
  146. /* [in] */ REFIID riid,
  147. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  148. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  149. IClientVirtualDevice __RPC_FAR * This);
  150. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  151. IClientVirtualDevice __RPC_FAR * This);
  152. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommand )(
  153. IClientVirtualDevice __RPC_FAR * This,
  154. /* [in] */ DWORD dwTimeOut,
  155. /* [out] */ struct VDC_Command __RPC_FAR *__RPC_FAR *ppCmd);
  156. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompleteCommand )(
  157. IClientVirtualDevice __RPC_FAR * This,
  158. /* [in] */ struct VDC_Command __RPC_FAR *pCmd,
  159. /* [in] */ DWORD dwCompletionCode,
  160. /* [in] */ DWORD dwBytesTransferred,
  161. /* [in] */ DWORDLONG dwlPosition);
  162. END_INTERFACE
  163. } IClientVirtualDeviceVtbl;
  164. interface IClientVirtualDevice
  165. {
  166. CONST_VTBL struct IClientVirtualDeviceVtbl __RPC_FAR *lpVtbl;
  167. };
  168. #ifdef COBJMACROS
  169. #define IClientVirtualDevice_QueryInterface(This,riid,ppvObject) \
  170. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  171. #define IClientVirtualDevice_AddRef(This) \
  172. (This)->lpVtbl -> AddRef(This)
  173. #define IClientVirtualDevice_Release(This) \
  174. (This)->lpVtbl -> Release(This)
  175. #define IClientVirtualDevice_GetCommand(This,dwTimeOut,ppCmd) \
  176. (This)->lpVtbl -> GetCommand(This,dwTimeOut,ppCmd)
  177. #define IClientVirtualDevice_CompleteCommand(This,pCmd,dwCompletionCode,dwBytesTransferred,dwlPosition) \
  178. (This)->lpVtbl -> CompleteCommand(This,pCmd,dwCompletionCode,dwBytesTransferred,dwlPosition)
  179. #endif /* COBJMACROS */
  180. #endif /* C style interface */
  181. HRESULT STDMETHODCALLTYPE IClientVirtualDevice_GetCommand_Proxy(
  182. IClientVirtualDevice __RPC_FAR * This,
  183. /* [in] */ DWORD dwTimeOut,
  184. /* [out] */ struct VDC_Command __RPC_FAR *__RPC_FAR *ppCmd);
  185. void __RPC_STUB IClientVirtualDevice_GetCommand_Stub(
  186. IRpcStubBuffer *This,
  187. IRpcChannelBuffer *_pRpcChannelBuffer,
  188. PRPC_MESSAGE _pRpcMessage,
  189. DWORD *_pdwStubPhase);
  190. HRESULT STDMETHODCALLTYPE IClientVirtualDevice_CompleteCommand_Proxy(
  191. IClientVirtualDevice __RPC_FAR * This,
  192. /* [in] */ struct VDC_Command __RPC_FAR *pCmd,
  193. /* [in] */ DWORD dwCompletionCode,
  194. /* [in] */ DWORD dwBytesTransferred,
  195. /* [in] */ DWORDLONG dwlPosition);
  196. void __RPC_STUB IClientVirtualDevice_CompleteCommand_Stub(
  197. IRpcStubBuffer *This,
  198. IRpcChannelBuffer *_pRpcChannelBuffer,
  199. PRPC_MESSAGE _pRpcMessage,
  200. DWORD *_pdwStubPhase);
  201. #endif /* __IClientVirtualDevice_INTERFACE_DEFINED__ */
  202. #ifndef __IClientVirtualDeviceSet_INTERFACE_DEFINED__
  203. #define __IClientVirtualDeviceSet_INTERFACE_DEFINED__
  204. /* interface IClientVirtualDeviceSet */
  205. /* [object][uuid] */
  206. EXTERN_C const IID IID_IClientVirtualDeviceSet;
  207. #if defined(__cplusplus) && !defined(CINTERFACE)
  208. MIDL_INTERFACE("40700425-0080-11d2-851f-00c04fc21759")
  209. IClientVirtualDeviceSet : public IUnknown
  210. {
  211. public:
  212. virtual HRESULT STDMETHODCALLTYPE Create(
  213. /* [in] */ LPCWSTR lpName,
  214. /* [in] */ struct VDConfig __RPC_FAR *pCfg) = 0;
  215. virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
  216. /* [in] */ DWORD dwTimeOut,
  217. /* [out] */ struct VDConfig __RPC_FAR *pCfg) = 0;
  218. virtual HRESULT STDMETHODCALLTYPE OpenDevice(
  219. /* [in] */ LPCWSTR lpName,
  220. /* [out] */ IClientVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice) = 0;
  221. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  222. virtual HRESULT STDMETHODCALLTYPE SignalAbort( void) = 0;
  223. virtual HRESULT STDMETHODCALLTYPE OpenInSecondary(
  224. /* [in] */ LPCWSTR lpSetName) = 0;
  225. virtual HRESULT STDMETHODCALLTYPE GetBufferHandle(
  226. /* [in] */ BYTE __RPC_FAR *pBuffer,
  227. /* [out] */ DWORD __RPC_FAR *pBufferHandle) = 0;
  228. virtual HRESULT STDMETHODCALLTYPE MapBufferHandle(
  229. /* [in] */ DWORD dwBuffer,
  230. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer) = 0;
  231. };
  232. #else /* C style interface */
  233. typedef struct IClientVirtualDeviceSetVtbl
  234. {
  235. BEGIN_INTERFACE
  236. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  237. IClientVirtualDeviceSet __RPC_FAR * This,
  238. /* [in] */ REFIID riid,
  239. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  240. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  241. IClientVirtualDeviceSet __RPC_FAR * This);
  242. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  243. IClientVirtualDeviceSet __RPC_FAR * This);
  244. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Create )(
  245. IClientVirtualDeviceSet __RPC_FAR * This,
  246. /* [in] */ LPCWSTR lpName,
  247. /* [in] */ struct VDConfig __RPC_FAR *pCfg);
  248. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConfiguration )(
  249. IClientVirtualDeviceSet __RPC_FAR * This,
  250. /* [in] */ DWORD dwTimeOut,
  251. /* [out] */ struct VDConfig __RPC_FAR *pCfg);
  252. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDevice )(
  253. IClientVirtualDeviceSet __RPC_FAR * This,
  254. /* [in] */ LPCWSTR lpName,
  255. /* [out] */ IClientVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
  256. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  257. IClientVirtualDeviceSet __RPC_FAR * This);
  258. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalAbort )(
  259. IClientVirtualDeviceSet __RPC_FAR * This);
  260. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenInSecondary )(
  261. IClientVirtualDeviceSet __RPC_FAR * This,
  262. /* [in] */ LPCWSTR lpSetName);
  263. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferHandle )(
  264. IClientVirtualDeviceSet __RPC_FAR * This,
  265. /* [in] */ BYTE __RPC_FAR *pBuffer,
  266. /* [out] */ DWORD __RPC_FAR *pBufferHandle);
  267. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapBufferHandle )(
  268. IClientVirtualDeviceSet __RPC_FAR * This,
  269. /* [in] */ DWORD dwBuffer,
  270. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  271. END_INTERFACE
  272. } IClientVirtualDeviceSetVtbl;
  273. interface IClientVirtualDeviceSet
  274. {
  275. CONST_VTBL struct IClientVirtualDeviceSetVtbl __RPC_FAR *lpVtbl;
  276. };
  277. #ifdef COBJMACROS
  278. #define IClientVirtualDeviceSet_QueryInterface(This,riid,ppvObject) \
  279. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  280. #define IClientVirtualDeviceSet_AddRef(This) \
  281. (This)->lpVtbl -> AddRef(This)
  282. #define IClientVirtualDeviceSet_Release(This) \
  283. (This)->lpVtbl -> Release(This)
  284. #define IClientVirtualDeviceSet_Create(This,lpName,pCfg) \
  285. (This)->lpVtbl -> Create(This,lpName,pCfg)
  286. #define IClientVirtualDeviceSet_GetConfiguration(This,dwTimeOut,pCfg) \
  287. (This)->lpVtbl -> GetConfiguration(This,dwTimeOut,pCfg)
  288. #define IClientVirtualDeviceSet_OpenDevice(This,lpName,ppVirtualDevice) \
  289. (This)->lpVtbl -> OpenDevice(This,lpName,ppVirtualDevice)
  290. #define IClientVirtualDeviceSet_Close(This) \
  291. (This)->lpVtbl -> Close(This)
  292. #define IClientVirtualDeviceSet_SignalAbort(This) \
  293. (This)->lpVtbl -> SignalAbort(This)
  294. #define IClientVirtualDeviceSet_OpenInSecondary(This,lpSetName) \
  295. (This)->lpVtbl -> OpenInSecondary(This,lpSetName)
  296. #define IClientVirtualDeviceSet_GetBufferHandle(This,pBuffer,pBufferHandle) \
  297. (This)->lpVtbl -> GetBufferHandle(This,pBuffer,pBufferHandle)
  298. #define IClientVirtualDeviceSet_MapBufferHandle(This,dwBuffer,ppBuffer) \
  299. (This)->lpVtbl -> MapBufferHandle(This,dwBuffer,ppBuffer)
  300. #endif /* COBJMACROS */
  301. #endif /* C style interface */
  302. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_Create_Proxy(
  303. IClientVirtualDeviceSet __RPC_FAR * This,
  304. /* [in] */ LPCWSTR lpName,
  305. /* [in] */ struct VDConfig __RPC_FAR *pCfg);
  306. void __RPC_STUB IClientVirtualDeviceSet_Create_Stub(
  307. IRpcStubBuffer *This,
  308. IRpcChannelBuffer *_pRpcChannelBuffer,
  309. PRPC_MESSAGE _pRpcMessage,
  310. DWORD *_pdwStubPhase);
  311. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_GetConfiguration_Proxy(
  312. IClientVirtualDeviceSet __RPC_FAR * This,
  313. /* [in] */ DWORD dwTimeOut,
  314. /* [out] */ struct VDConfig __RPC_FAR *pCfg);
  315. void __RPC_STUB IClientVirtualDeviceSet_GetConfiguration_Stub(
  316. IRpcStubBuffer *This,
  317. IRpcChannelBuffer *_pRpcChannelBuffer,
  318. PRPC_MESSAGE _pRpcMessage,
  319. DWORD *_pdwStubPhase);
  320. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_OpenDevice_Proxy(
  321. IClientVirtualDeviceSet __RPC_FAR * This,
  322. /* [in] */ LPCWSTR lpName,
  323. /* [out] */ IClientVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
  324. void __RPC_STUB IClientVirtualDeviceSet_OpenDevice_Stub(
  325. IRpcStubBuffer *This,
  326. IRpcChannelBuffer *_pRpcChannelBuffer,
  327. PRPC_MESSAGE _pRpcMessage,
  328. DWORD *_pdwStubPhase);
  329. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_Close_Proxy(
  330. IClientVirtualDeviceSet __RPC_FAR * This);
  331. void __RPC_STUB IClientVirtualDeviceSet_Close_Stub(
  332. IRpcStubBuffer *This,
  333. IRpcChannelBuffer *_pRpcChannelBuffer,
  334. PRPC_MESSAGE _pRpcMessage,
  335. DWORD *_pdwStubPhase);
  336. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_SignalAbort_Proxy(
  337. IClientVirtualDeviceSet __RPC_FAR * This);
  338. void __RPC_STUB IClientVirtualDeviceSet_SignalAbort_Stub(
  339. IRpcStubBuffer *This,
  340. IRpcChannelBuffer *_pRpcChannelBuffer,
  341. PRPC_MESSAGE _pRpcMessage,
  342. DWORD *_pdwStubPhase);
  343. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_OpenInSecondary_Proxy(
  344. IClientVirtualDeviceSet __RPC_FAR * This,
  345. /* [in] */ LPCWSTR lpSetName);
  346. void __RPC_STUB IClientVirtualDeviceSet_OpenInSecondary_Stub(
  347. IRpcStubBuffer *This,
  348. IRpcChannelBuffer *_pRpcChannelBuffer,
  349. PRPC_MESSAGE _pRpcMessage,
  350. DWORD *_pdwStubPhase);
  351. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_GetBufferHandle_Proxy(
  352. IClientVirtualDeviceSet __RPC_FAR * This,
  353. /* [in] */ BYTE __RPC_FAR *pBuffer,
  354. /* [out] */ DWORD __RPC_FAR *pBufferHandle);
  355. void __RPC_STUB IClientVirtualDeviceSet_GetBufferHandle_Stub(
  356. IRpcStubBuffer *This,
  357. IRpcChannelBuffer *_pRpcChannelBuffer,
  358. PRPC_MESSAGE _pRpcMessage,
  359. DWORD *_pdwStubPhase);
  360. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet_MapBufferHandle_Proxy(
  361. IClientVirtualDeviceSet __RPC_FAR * This,
  362. /* [in] */ DWORD dwBuffer,
  363. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  364. void __RPC_STUB IClientVirtualDeviceSet_MapBufferHandle_Stub(
  365. IRpcStubBuffer *This,
  366. IRpcChannelBuffer *_pRpcChannelBuffer,
  367. PRPC_MESSAGE _pRpcMessage,
  368. DWORD *_pdwStubPhase);
  369. #endif /* __IClientVirtualDeviceSet_INTERFACE_DEFINED__ */
  370. #ifndef __IClientVirtualDeviceSet2_INTERFACE_DEFINED__
  371. #define __IClientVirtualDeviceSet2_INTERFACE_DEFINED__
  372. /* interface IClientVirtualDeviceSet2 */
  373. /* [object][uuid] */
  374. EXTERN_C const IID IID_IClientVirtualDeviceSet2;
  375. #if defined(__cplusplus) && !defined(CINTERFACE)
  376. MIDL_INTERFACE("d0e6eb07-7a62-11d2-8573-00c04fc21759")
  377. IClientVirtualDeviceSet2 : public IClientVirtualDeviceSet
  378. {
  379. public:
  380. virtual HRESULT STDMETHODCALLTYPE CreateEx(
  381. /* [in] */ LPCWSTR lpInstanceName,
  382. /* [in] */ LPCWSTR lpName,
  383. /* [in] */ struct VDConfig __RPC_FAR *pCfg) = 0;
  384. virtual HRESULT STDMETHODCALLTYPE OpenInSecondaryEx(
  385. /* [in] */ LPCWSTR lpInstanceName,
  386. /* [in] */ LPCWSTR lpSetName) = 0;
  387. };
  388. #else /* C style interface */
  389. typedef struct IClientVirtualDeviceSet2Vtbl
  390. {
  391. BEGIN_INTERFACE
  392. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  393. IClientVirtualDeviceSet2 __RPC_FAR * This,
  394. /* [in] */ REFIID riid,
  395. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  396. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  397. IClientVirtualDeviceSet2 __RPC_FAR * This);
  398. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  399. IClientVirtualDeviceSet2 __RPC_FAR * This);
  400. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Create )(
  401. IClientVirtualDeviceSet2 __RPC_FAR * This,
  402. /* [in] */ LPCWSTR lpName,
  403. /* [in] */ struct VDConfig __RPC_FAR *pCfg);
  404. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConfiguration )(
  405. IClientVirtualDeviceSet2 __RPC_FAR * This,
  406. /* [in] */ DWORD dwTimeOut,
  407. /* [out] */ struct VDConfig __RPC_FAR *pCfg);
  408. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDevice )(
  409. IClientVirtualDeviceSet2 __RPC_FAR * This,
  410. /* [in] */ LPCWSTR lpName,
  411. /* [out] */ IClientVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
  412. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  413. IClientVirtualDeviceSet2 __RPC_FAR * This);
  414. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalAbort )(
  415. IClientVirtualDeviceSet2 __RPC_FAR * This);
  416. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenInSecondary )(
  417. IClientVirtualDeviceSet2 __RPC_FAR * This,
  418. /* [in] */ LPCWSTR lpSetName);
  419. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferHandle )(
  420. IClientVirtualDeviceSet2 __RPC_FAR * This,
  421. /* [in] */ BYTE __RPC_FAR *pBuffer,
  422. /* [out] */ DWORD __RPC_FAR *pBufferHandle);
  423. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapBufferHandle )(
  424. IClientVirtualDeviceSet2 __RPC_FAR * This,
  425. /* [in] */ DWORD dwBuffer,
  426. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
  427. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateEx )(
  428. IClientVirtualDeviceSet2 __RPC_FAR * This,
  429. /* [in] */ LPCWSTR lpInstanceName,
  430. /* [in] */ LPCWSTR lpName,
  431. /* [in] */ struct VDConfig __RPC_FAR *pCfg);
  432. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenInSecondaryEx )(
  433. IClientVirtualDeviceSet2 __RPC_FAR * This,
  434. /* [in] */ LPCWSTR lpInstanceName,
  435. /* [in] */ LPCWSTR lpSetName);
  436. END_INTERFACE
  437. } IClientVirtualDeviceSet2Vtbl;
  438. interface IClientVirtualDeviceSet2
  439. {
  440. CONST_VTBL struct IClientVirtualDeviceSet2Vtbl __RPC_FAR *lpVtbl;
  441. };
  442. #ifdef COBJMACROS
  443. #define IClientVirtualDeviceSet2_QueryInterface(This,riid,ppvObject) \
  444. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  445. #define IClientVirtualDeviceSet2_AddRef(This) \
  446. (This)->lpVtbl -> AddRef(This)
  447. #define IClientVirtualDeviceSet2_Release(This) \
  448. (This)->lpVtbl -> Release(This)
  449. #define IClientVirtualDeviceSet2_Create(This,lpName,pCfg) \
  450. (This)->lpVtbl -> Create(This,lpName,pCfg)
  451. #define IClientVirtualDeviceSet2_GetConfiguration(This,dwTimeOut,pCfg) \
  452. (This)->lpVtbl -> GetConfiguration(This,dwTimeOut,pCfg)
  453. #define IClientVirtualDeviceSet2_OpenDevice(This,lpName,ppVirtualDevice) \
  454. (This)->lpVtbl -> OpenDevice(This,lpName,ppVirtualDevice)
  455. #define IClientVirtualDeviceSet2_Close(This) \
  456. (This)->lpVtbl -> Close(This)
  457. #define IClientVirtualDeviceSet2_SignalAbort(This) \
  458. (This)->lpVtbl -> SignalAbort(This)
  459. #define IClientVirtualDeviceSet2_OpenInSecondary(This,lpSetName) \
  460. (This)->lpVtbl -> OpenInSecondary(This,lpSetName)
  461. #define IClientVirtualDeviceSet2_GetBufferHandle(This,pBuffer,pBufferHandle) \
  462. (This)->lpVtbl -> GetBufferHandle(This,pBuffer,pBufferHandle)
  463. #define IClientVirtualDeviceSet2_MapBufferHandle(This,dwBuffer,ppBuffer) \
  464. (This)->lpVtbl -> MapBufferHandle(This,dwBuffer,ppBuffer)
  465. #define IClientVirtualDeviceSet2_CreateEx(This,lpInstanceName,lpName,pCfg) \
  466. (This)->lpVtbl -> CreateEx(This,lpInstanceName,lpName,pCfg)
  467. #define IClientVirtualDeviceSet2_OpenInSecondaryEx(This,lpInstanceName,lpSetName) \
  468. (This)->lpVtbl -> OpenInSecondaryEx(This,lpInstanceName,lpSetName)
  469. #endif /* COBJMACROS */
  470. #endif /* C style interface */
  471. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet2_CreateEx_Proxy(
  472. IClientVirtualDeviceSet2 __RPC_FAR * This,
  473. /* [in] */ LPCWSTR lpInstanceName,
  474. /* [in] */ LPCWSTR lpName,
  475. /* [in] */ struct VDConfig __RPC_FAR *pCfg);
  476. void __RPC_STUB IClientVirtualDeviceSet2_CreateEx_Stub(
  477. IRpcStubBuffer *This,
  478. IRpcChannelBuffer *_pRpcChannelBuffer,
  479. PRPC_MESSAGE _pRpcMessage,
  480. DWORD *_pdwStubPhase);
  481. HRESULT STDMETHODCALLTYPE IClientVirtualDeviceSet2_OpenInSecondaryEx_Proxy(
  482. IClientVirtualDeviceSet2 __RPC_FAR * This,
  483. /* [in] */ LPCWSTR lpInstanceName,
  484. /* [in] */ LPCWSTR lpSetName);
  485. void __RPC_STUB IClientVirtualDeviceSet2_OpenInSecondaryEx_Stub(
  486. IRpcStubBuffer *This,
  487. IRpcChannelBuffer *_pRpcChannelBuffer,
  488. PRPC_MESSAGE _pRpcMessage,
  489. DWORD *_pdwStubPhase);
  490. #endif /* __IClientVirtualDeviceSet2_INTERFACE_DEFINED__ */
  491. /* interface __MIDL_itf_vdi_0008 */
  492. /* [local] */
  493. struct VDS_Command
  494. {
  495. DWORD commandCode;
  496. DWORD size;
  497. DWORDLONG inPosition;
  498. DWORDLONG outPosition;
  499. BYTE __RPC_FAR *buffer;
  500. BYTE __RPC_FAR *completionRoutine;
  501. BYTE __RPC_FAR *completionContext;
  502. DWORD completionCode;
  503. DWORD bytesTransferred;
  504. };
  505. extern RPC_IF_HANDLE __MIDL_itf_vdi_0008_v0_0_c_ifspec;
  506. extern RPC_IF_HANDLE __MIDL_itf_vdi_0008_v0_0_s_ifspec;
  507. #ifndef __IServerVirtualDevice_INTERFACE_DEFINED__
  508. #define __IServerVirtualDevice_INTERFACE_DEFINED__
  509. /* interface IServerVirtualDevice */
  510. /* [object][uuid] */
  511. EXTERN_C const IID IID_IServerVirtualDevice;
  512. #if defined(__cplusplus) && !defined(CINTERFACE)
  513. MIDL_INTERFACE("b5e7a131-a7bd-11d1-84c2-00c04fc21759")
  514. IServerVirtualDevice : public IUnknown
  515. {
  516. public:
  517. virtual HRESULT STDMETHODCALLTYPE SendCommand(
  518. /* [in] */ struct VDS_Command __RPC_FAR *pCmd) = 0;
  519. virtual HRESULT STDMETHODCALLTYPE CloseDevice( void) = 0;
  520. };
  521. #else /* C style interface */
  522. typedef struct IServerVirtualDeviceVtbl
  523. {
  524. BEGIN_INTERFACE
  525. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  526. IServerVirtualDevice __RPC_FAR * This,
  527. /* [in] */ REFIID riid,
  528. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  529. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  530. IServerVirtualDevice __RPC_FAR * This);
  531. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  532. IServerVirtualDevice __RPC_FAR * This);
  533. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendCommand )(
  534. IServerVirtualDevice __RPC_FAR * This,
  535. /* [in] */ struct VDS_Command __RPC_FAR *pCmd);
  536. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseDevice )(
  537. IServerVirtualDevice __RPC_FAR * This);
  538. END_INTERFACE
  539. } IServerVirtualDeviceVtbl;
  540. interface IServerVirtualDevice
  541. {
  542. CONST_VTBL struct IServerVirtualDeviceVtbl __RPC_FAR *lpVtbl;
  543. };
  544. #ifdef COBJMACROS
  545. #define IServerVirtualDevice_QueryInterface(This,riid,ppvObject) \
  546. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  547. #define IServerVirtualDevice_AddRef(This) \
  548. (This)->lpVtbl -> AddRef(This)
  549. #define IServerVirtualDevice_Release(This) \
  550. (This)->lpVtbl -> Release(This)
  551. #define IServerVirtualDevice_SendCommand(This,pCmd) \
  552. (This)->lpVtbl -> SendCommand(This,pCmd)
  553. #define IServerVirtualDevice_CloseDevice(This) \
  554. (This)->lpVtbl -> CloseDevice(This)
  555. #endif /* COBJMACROS */
  556. #endif /* C style interface */
  557. HRESULT STDMETHODCALLTYPE IServerVirtualDevice_SendCommand_Proxy(
  558. IServerVirtualDevice __RPC_FAR * This,
  559. /* [in] */ struct VDS_Command __RPC_FAR *pCmd);
  560. void __RPC_STUB IServerVirtualDevice_SendCommand_Stub(
  561. IRpcStubBuffer *This,
  562. IRpcChannelBuffer *_pRpcChannelBuffer,
  563. PRPC_MESSAGE _pRpcMessage,
  564. DWORD *_pdwStubPhase);
  565. HRESULT STDMETHODCALLTYPE IServerVirtualDevice_CloseDevice_Proxy(
  566. IServerVirtualDevice __RPC_FAR * This);
  567. void __RPC_STUB IServerVirtualDevice_CloseDevice_Stub(
  568. IRpcStubBuffer *This,
  569. IRpcChannelBuffer *_pRpcChannelBuffer,
  570. PRPC_MESSAGE _pRpcMessage,
  571. DWORD *_pdwStubPhase);
  572. #endif /* __IServerVirtualDevice_INTERFACE_DEFINED__ */
  573. #ifndef __IServerVirtualDeviceSet_INTERFACE_DEFINED__
  574. #define __IServerVirtualDeviceSet_INTERFACE_DEFINED__
  575. /* interface IServerVirtualDeviceSet */
  576. /* [object][uuid] */
  577. EXTERN_C const IID IID_IServerVirtualDeviceSet;
  578. #if defined(__cplusplus) && !defined(CINTERFACE)
  579. MIDL_INTERFACE("b5e7a132-a7bd-11d1-84c2-00c04fc21759")
  580. IServerVirtualDeviceSet : public IUnknown
  581. {
  582. public:
  583. virtual HRESULT STDMETHODCALLTYPE Open(
  584. /* [in] */ LPCWSTR lpName) = 0;
  585. virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
  586. /* [out] */ struct VDConfig __RPC_FAR *pCfg) = 0;
  587. virtual HRESULT STDMETHODCALLTYPE SetConfiguration(
  588. /* [in] */ struct VDConfig __RPC_FAR *pCfg) = 0;
  589. virtual HRESULT STDMETHODCALLTYPE ExecuteCompletionAgent( void) = 0;
  590. virtual HRESULT STDMETHODCALLTYPE OpenDevice(
  591. /* [in] */ LPCWSTR lpName,
  592. /* [out] */ IServerVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice) = 0;
  593. virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
  594. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  595. /* [in] */ DWORD dwSize,
  596. /* [in] */ DWORD dwAlignment) = 0;
  597. virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
  598. /* [in] */ BYTE __RPC_FAR *pBuffer,
  599. /* [in] */ DWORD dwSize) = 0;
  600. virtual HRESULT STDMETHODCALLTYPE IsSharedBuffer(
  601. /* [in] */ BYTE __RPC_FAR *pBuffer) = 0;
  602. virtual HRESULT STDMETHODCALLTYPE SignalAbort( void) = 0;
  603. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  604. };
  605. #else /* C style interface */
  606. typedef struct IServerVirtualDeviceSetVtbl
  607. {
  608. BEGIN_INTERFACE
  609. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  610. IServerVirtualDeviceSet __RPC_FAR * This,
  611. /* [in] */ REFIID riid,
  612. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  613. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  614. IServerVirtualDeviceSet __RPC_FAR * This);
  615. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  616. IServerVirtualDeviceSet __RPC_FAR * This);
  617. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  618. IServerVirtualDeviceSet __RPC_FAR * This,
  619. /* [in] */ LPCWSTR lpName);
  620. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConfiguration )(
  621. IServerVirtualDeviceSet __RPC_FAR * This,
  622. /* [out] */ struct VDConfig __RPC_FAR *pCfg);
  623. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetConfiguration )(
  624. IServerVirtualDeviceSet __RPC_FAR * This,
  625. /* [in] */ struct VDConfig __RPC_FAR *pCfg);
  626. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExecuteCompletionAgent )(
  627. IServerVirtualDeviceSet __RPC_FAR * This);
  628. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDevice )(
  629. IServerVirtualDeviceSet __RPC_FAR * This,
  630. /* [in] */ LPCWSTR lpName,
  631. /* [out] */ IServerVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
  632. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateBuffer )(
  633. IServerVirtualDeviceSet __RPC_FAR * This,
  634. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  635. /* [in] */ DWORD dwSize,
  636. /* [in] */ DWORD dwAlignment);
  637. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeBuffer )(
  638. IServerVirtualDeviceSet __RPC_FAR * This,
  639. /* [in] */ BYTE __RPC_FAR *pBuffer,
  640. /* [in] */ DWORD dwSize);
  641. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSharedBuffer )(
  642. IServerVirtualDeviceSet __RPC_FAR * This,
  643. /* [in] */ BYTE __RPC_FAR *pBuffer);
  644. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalAbort )(
  645. IServerVirtualDeviceSet __RPC_FAR * This);
  646. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  647. IServerVirtualDeviceSet __RPC_FAR * This);
  648. END_INTERFACE
  649. } IServerVirtualDeviceSetVtbl;
  650. interface IServerVirtualDeviceSet
  651. {
  652. CONST_VTBL struct IServerVirtualDeviceSetVtbl __RPC_FAR *lpVtbl;
  653. };
  654. #ifdef COBJMACROS
  655. #define IServerVirtualDeviceSet_QueryInterface(This,riid,ppvObject) \
  656. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  657. #define IServerVirtualDeviceSet_AddRef(This) \
  658. (This)->lpVtbl -> AddRef(This)
  659. #define IServerVirtualDeviceSet_Release(This) \
  660. (This)->lpVtbl -> Release(This)
  661. #define IServerVirtualDeviceSet_Open(This,lpName) \
  662. (This)->lpVtbl -> Open(This,lpName)
  663. #define IServerVirtualDeviceSet_GetConfiguration(This,pCfg) \
  664. (This)->lpVtbl -> GetConfiguration(This,pCfg)
  665. #define IServerVirtualDeviceSet_SetConfiguration(This,pCfg) \
  666. (This)->lpVtbl -> SetConfiguration(This,pCfg)
  667. #define IServerVirtualDeviceSet_ExecuteCompletionAgent(This) \
  668. (This)->lpVtbl -> ExecuteCompletionAgent(This)
  669. #define IServerVirtualDeviceSet_OpenDevice(This,lpName,ppVirtualDevice) \
  670. (This)->lpVtbl -> OpenDevice(This,lpName,ppVirtualDevice)
  671. #define IServerVirtualDeviceSet_AllocateBuffer(This,ppBuffer,dwSize,dwAlignment) \
  672. (This)->lpVtbl -> AllocateBuffer(This,ppBuffer,dwSize,dwAlignment)
  673. #define IServerVirtualDeviceSet_FreeBuffer(This,pBuffer,dwSize) \
  674. (This)->lpVtbl -> FreeBuffer(This,pBuffer,dwSize)
  675. #define IServerVirtualDeviceSet_IsSharedBuffer(This,pBuffer) \
  676. (This)->lpVtbl -> IsSharedBuffer(This,pBuffer)
  677. #define IServerVirtualDeviceSet_SignalAbort(This) \
  678. (This)->lpVtbl -> SignalAbort(This)
  679. #define IServerVirtualDeviceSet_Close(This) \
  680. (This)->lpVtbl -> Close(This)
  681. #endif /* COBJMACROS */
  682. #endif /* C style interface */
  683. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_Open_Proxy(
  684. IServerVirtualDeviceSet __RPC_FAR * This,
  685. /* [in] */ LPCWSTR lpName);
  686. void __RPC_STUB IServerVirtualDeviceSet_Open_Stub(
  687. IRpcStubBuffer *This,
  688. IRpcChannelBuffer *_pRpcChannelBuffer,
  689. PRPC_MESSAGE _pRpcMessage,
  690. DWORD *_pdwStubPhase);
  691. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_GetConfiguration_Proxy(
  692. IServerVirtualDeviceSet __RPC_FAR * This,
  693. /* [out] */ struct VDConfig __RPC_FAR *pCfg);
  694. void __RPC_STUB IServerVirtualDeviceSet_GetConfiguration_Stub(
  695. IRpcStubBuffer *This,
  696. IRpcChannelBuffer *_pRpcChannelBuffer,
  697. PRPC_MESSAGE _pRpcMessage,
  698. DWORD *_pdwStubPhase);
  699. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_SetConfiguration_Proxy(
  700. IServerVirtualDeviceSet __RPC_FAR * This,
  701. /* [in] */ struct VDConfig __RPC_FAR *pCfg);
  702. void __RPC_STUB IServerVirtualDeviceSet_SetConfiguration_Stub(
  703. IRpcStubBuffer *This,
  704. IRpcChannelBuffer *_pRpcChannelBuffer,
  705. PRPC_MESSAGE _pRpcMessage,
  706. DWORD *_pdwStubPhase);
  707. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_ExecuteCompletionAgent_Proxy(
  708. IServerVirtualDeviceSet __RPC_FAR * This);
  709. void __RPC_STUB IServerVirtualDeviceSet_ExecuteCompletionAgent_Stub(
  710. IRpcStubBuffer *This,
  711. IRpcChannelBuffer *_pRpcChannelBuffer,
  712. PRPC_MESSAGE _pRpcMessage,
  713. DWORD *_pdwStubPhase);
  714. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_OpenDevice_Proxy(
  715. IServerVirtualDeviceSet __RPC_FAR * This,
  716. /* [in] */ LPCWSTR lpName,
  717. /* [out] */ IServerVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
  718. void __RPC_STUB IServerVirtualDeviceSet_OpenDevice_Stub(
  719. IRpcStubBuffer *This,
  720. IRpcChannelBuffer *_pRpcChannelBuffer,
  721. PRPC_MESSAGE _pRpcMessage,
  722. DWORD *_pdwStubPhase);
  723. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_AllocateBuffer_Proxy(
  724. IServerVirtualDeviceSet __RPC_FAR * This,
  725. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  726. /* [in] */ DWORD dwSize,
  727. /* [in] */ DWORD dwAlignment);
  728. void __RPC_STUB IServerVirtualDeviceSet_AllocateBuffer_Stub(
  729. IRpcStubBuffer *This,
  730. IRpcChannelBuffer *_pRpcChannelBuffer,
  731. PRPC_MESSAGE _pRpcMessage,
  732. DWORD *_pdwStubPhase);
  733. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_FreeBuffer_Proxy(
  734. IServerVirtualDeviceSet __RPC_FAR * This,
  735. /* [in] */ BYTE __RPC_FAR *pBuffer,
  736. /* [in] */ DWORD dwSize);
  737. void __RPC_STUB IServerVirtualDeviceSet_FreeBuffer_Stub(
  738. IRpcStubBuffer *This,
  739. IRpcChannelBuffer *_pRpcChannelBuffer,
  740. PRPC_MESSAGE _pRpcMessage,
  741. DWORD *_pdwStubPhase);
  742. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_IsSharedBuffer_Proxy(
  743. IServerVirtualDeviceSet __RPC_FAR * This,
  744. /* [in] */ BYTE __RPC_FAR *pBuffer);
  745. void __RPC_STUB IServerVirtualDeviceSet_IsSharedBuffer_Stub(
  746. IRpcStubBuffer *This,
  747. IRpcChannelBuffer *_pRpcChannelBuffer,
  748. PRPC_MESSAGE _pRpcMessage,
  749. DWORD *_pdwStubPhase);
  750. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_SignalAbort_Proxy(
  751. IServerVirtualDeviceSet __RPC_FAR * This);
  752. void __RPC_STUB IServerVirtualDeviceSet_SignalAbort_Stub(
  753. IRpcStubBuffer *This,
  754. IRpcChannelBuffer *_pRpcChannelBuffer,
  755. PRPC_MESSAGE _pRpcMessage,
  756. DWORD *_pdwStubPhase);
  757. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet_Close_Proxy(
  758. IServerVirtualDeviceSet __RPC_FAR * This);
  759. void __RPC_STUB IServerVirtualDeviceSet_Close_Stub(
  760. IRpcStubBuffer *This,
  761. IRpcChannelBuffer *_pRpcChannelBuffer,
  762. PRPC_MESSAGE _pRpcMessage,
  763. DWORD *_pdwStubPhase);
  764. #endif /* __IServerVirtualDeviceSet_INTERFACE_DEFINED__ */
  765. #ifndef __IServerVirtualDeviceSet2_INTERFACE_DEFINED__
  766. #define __IServerVirtualDeviceSet2_INTERFACE_DEFINED__
  767. /* interface IServerVirtualDeviceSet2 */
  768. /* [object][uuid] */
  769. EXTERN_C const IID IID_IServerVirtualDeviceSet2;
  770. #if defined(__cplusplus) && !defined(CINTERFACE)
  771. MIDL_INTERFACE("AECBD0D6-24C6-11d3-85B7-00C04FC21759")
  772. IServerVirtualDeviceSet2 : public IUnknown
  773. {
  774. public:
  775. virtual HRESULT STDMETHODCALLTYPE Open(
  776. /* [in] */ LPCWSTR lpInstanceName,
  777. /* [in] */ LPCWSTR lpSetName) = 0;
  778. virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
  779. /* [out] */ struct VDConfig __RPC_FAR *pCfg) = 0;
  780. virtual HRESULT STDMETHODCALLTYPE BeginConfiguration(
  781. /* [in] */ DWORD dwFeatures,
  782. /* [in] */ DWORD dwAlignment,
  783. /* [in] */ DWORD dwBlockSize,
  784. /* [in] */ DWORD dwMaxTransferSize,
  785. /* [in] */ DWORD dwTimeout) = 0;
  786. virtual HRESULT STDMETHODCALLTYPE EndConfiguration( void) = 0;
  787. virtual HRESULT STDMETHODCALLTYPE RequestBuffers(
  788. /* [in] */ DWORD dwSize,
  789. /* [in] */ DWORD dwAlignment,
  790. /* [in] */ DWORD dwCount) = 0;
  791. virtual HRESULT STDMETHODCALLTYPE QueryAvailableBuffers(
  792. /* [in] */ DWORD dwSize,
  793. /* [in] */ DWORD dwAlignment,
  794. /* [out] */ DWORD __RPC_FAR *pCount) = 0;
  795. virtual HRESULT STDMETHODCALLTYPE ExecuteCompletionAgent( void) = 0;
  796. virtual HRESULT STDMETHODCALLTYPE OpenDevice(
  797. /* [in] */ LPCWSTR lpName,
  798. /* [out] */ IServerVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice) = 0;
  799. virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(
  800. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  801. /* [in] */ DWORD dwSize,
  802. /* [in] */ DWORD dwAlignment) = 0;
  803. virtual HRESULT STDMETHODCALLTYPE FreeBuffer(
  804. /* [in] */ BYTE __RPC_FAR *pBuffer,
  805. /* [in] */ DWORD dwSize) = 0;
  806. virtual HRESULT STDMETHODCALLTYPE IsSharedBuffer(
  807. /* [in] */ BYTE __RPC_FAR *pBuffer) = 0;
  808. virtual HRESULT STDMETHODCALLTYPE SignalAbort( void) = 0;
  809. virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  810. };
  811. #else /* C style interface */
  812. typedef struct IServerVirtualDeviceSet2Vtbl
  813. {
  814. BEGIN_INTERFACE
  815. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  816. IServerVirtualDeviceSet2 __RPC_FAR * This,
  817. /* [in] */ REFIID riid,
  818. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  819. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  820. IServerVirtualDeviceSet2 __RPC_FAR * This);
  821. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  822. IServerVirtualDeviceSet2 __RPC_FAR * This);
  823. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )(
  824. IServerVirtualDeviceSet2 __RPC_FAR * This,
  825. /* [in] */ LPCWSTR lpInstanceName,
  826. /* [in] */ LPCWSTR lpSetName);
  827. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConfiguration )(
  828. IServerVirtualDeviceSet2 __RPC_FAR * This,
  829. /* [out] */ struct VDConfig __RPC_FAR *pCfg);
  830. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginConfiguration )(
  831. IServerVirtualDeviceSet2 __RPC_FAR * This,
  832. /* [in] */ DWORD dwFeatures,
  833. /* [in] */ DWORD dwAlignment,
  834. /* [in] */ DWORD dwBlockSize,
  835. /* [in] */ DWORD dwMaxTransferSize,
  836. /* [in] */ DWORD dwTimeout);
  837. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndConfiguration )(
  838. IServerVirtualDeviceSet2 __RPC_FAR * This);
  839. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RequestBuffers )(
  840. IServerVirtualDeviceSet2 __RPC_FAR * This,
  841. /* [in] */ DWORD dwSize,
  842. /* [in] */ DWORD dwAlignment,
  843. /* [in] */ DWORD dwCount);
  844. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryAvailableBuffers )(
  845. IServerVirtualDeviceSet2 __RPC_FAR * This,
  846. /* [in] */ DWORD dwSize,
  847. /* [in] */ DWORD dwAlignment,
  848. /* [out] */ DWORD __RPC_FAR *pCount);
  849. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExecuteCompletionAgent )(
  850. IServerVirtualDeviceSet2 __RPC_FAR * This);
  851. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDevice )(
  852. IServerVirtualDeviceSet2 __RPC_FAR * This,
  853. /* [in] */ LPCWSTR lpName,
  854. /* [out] */ IServerVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
  855. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateBuffer )(
  856. IServerVirtualDeviceSet2 __RPC_FAR * This,
  857. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  858. /* [in] */ DWORD dwSize,
  859. /* [in] */ DWORD dwAlignment);
  860. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeBuffer )(
  861. IServerVirtualDeviceSet2 __RPC_FAR * This,
  862. /* [in] */ BYTE __RPC_FAR *pBuffer,
  863. /* [in] */ DWORD dwSize);
  864. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSharedBuffer )(
  865. IServerVirtualDeviceSet2 __RPC_FAR * This,
  866. /* [in] */ BYTE __RPC_FAR *pBuffer);
  867. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalAbort )(
  868. IServerVirtualDeviceSet2 __RPC_FAR * This);
  869. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
  870. IServerVirtualDeviceSet2 __RPC_FAR * This);
  871. END_INTERFACE
  872. } IServerVirtualDeviceSet2Vtbl;
  873. interface IServerVirtualDeviceSet2
  874. {
  875. CONST_VTBL struct IServerVirtualDeviceSet2Vtbl __RPC_FAR *lpVtbl;
  876. };
  877. #ifdef COBJMACROS
  878. #define IServerVirtualDeviceSet2_QueryInterface(This,riid,ppvObject) \
  879. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  880. #define IServerVirtualDeviceSet2_AddRef(This) \
  881. (This)->lpVtbl -> AddRef(This)
  882. #define IServerVirtualDeviceSet2_Release(This) \
  883. (This)->lpVtbl -> Release(This)
  884. #define IServerVirtualDeviceSet2_Open(This,lpInstanceName,lpSetName) \
  885. (This)->lpVtbl -> Open(This,lpInstanceName,lpSetName)
  886. #define IServerVirtualDeviceSet2_GetConfiguration(This,pCfg) \
  887. (This)->lpVtbl -> GetConfiguration(This,pCfg)
  888. #define IServerVirtualDeviceSet2_BeginConfiguration(This,dwFeatures,dwAlignment,dwBlockSize,dwMaxTransferSize,dwTimeout) \
  889. (This)->lpVtbl -> BeginConfiguration(This,dwFeatures,dwAlignment,dwBlockSize,dwMaxTransferSize,dwTimeout)
  890. #define IServerVirtualDeviceSet2_EndConfiguration(This) \
  891. (This)->lpVtbl -> EndConfiguration(This)
  892. #define IServerVirtualDeviceSet2_RequestBuffers(This,dwSize,dwAlignment,dwCount) \
  893. (This)->lpVtbl -> RequestBuffers(This,dwSize,dwAlignment,dwCount)
  894. #define IServerVirtualDeviceSet2_QueryAvailableBuffers(This,dwSize,dwAlignment,pCount) \
  895. (This)->lpVtbl -> QueryAvailableBuffers(This,dwSize,dwAlignment,pCount)
  896. #define IServerVirtualDeviceSet2_ExecuteCompletionAgent(This) \
  897. (This)->lpVtbl -> ExecuteCompletionAgent(This)
  898. #define IServerVirtualDeviceSet2_OpenDevice(This,lpName,ppVirtualDevice) \
  899. (This)->lpVtbl -> OpenDevice(This,lpName,ppVirtualDevice)
  900. #define IServerVirtualDeviceSet2_AllocateBuffer(This,ppBuffer,dwSize,dwAlignment) \
  901. (This)->lpVtbl -> AllocateBuffer(This,ppBuffer,dwSize,dwAlignment)
  902. #define IServerVirtualDeviceSet2_FreeBuffer(This,pBuffer,dwSize) \
  903. (This)->lpVtbl -> FreeBuffer(This,pBuffer,dwSize)
  904. #define IServerVirtualDeviceSet2_IsSharedBuffer(This,pBuffer) \
  905. (This)->lpVtbl -> IsSharedBuffer(This,pBuffer)
  906. #define IServerVirtualDeviceSet2_SignalAbort(This) \
  907. (This)->lpVtbl -> SignalAbort(This)
  908. #define IServerVirtualDeviceSet2_Close(This) \
  909. (This)->lpVtbl -> Close(This)
  910. #endif /* COBJMACROS */
  911. #endif /* C style interface */
  912. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_Open_Proxy(
  913. IServerVirtualDeviceSet2 __RPC_FAR * This,
  914. /* [in] */ LPCWSTR lpInstanceName,
  915. /* [in] */ LPCWSTR lpSetName);
  916. void __RPC_STUB IServerVirtualDeviceSet2_Open_Stub(
  917. IRpcStubBuffer *This,
  918. IRpcChannelBuffer *_pRpcChannelBuffer,
  919. PRPC_MESSAGE _pRpcMessage,
  920. DWORD *_pdwStubPhase);
  921. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_GetConfiguration_Proxy(
  922. IServerVirtualDeviceSet2 __RPC_FAR * This,
  923. /* [out] */ struct VDConfig __RPC_FAR *pCfg);
  924. void __RPC_STUB IServerVirtualDeviceSet2_GetConfiguration_Stub(
  925. IRpcStubBuffer *This,
  926. IRpcChannelBuffer *_pRpcChannelBuffer,
  927. PRPC_MESSAGE _pRpcMessage,
  928. DWORD *_pdwStubPhase);
  929. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_BeginConfiguration_Proxy(
  930. IServerVirtualDeviceSet2 __RPC_FAR * This,
  931. /* [in] */ DWORD dwFeatures,
  932. /* [in] */ DWORD dwAlignment,
  933. /* [in] */ DWORD dwBlockSize,
  934. /* [in] */ DWORD dwMaxTransferSize,
  935. /* [in] */ DWORD dwTimeout);
  936. void __RPC_STUB IServerVirtualDeviceSet2_BeginConfiguration_Stub(
  937. IRpcStubBuffer *This,
  938. IRpcChannelBuffer *_pRpcChannelBuffer,
  939. PRPC_MESSAGE _pRpcMessage,
  940. DWORD *_pdwStubPhase);
  941. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_EndConfiguration_Proxy(
  942. IServerVirtualDeviceSet2 __RPC_FAR * This);
  943. void __RPC_STUB IServerVirtualDeviceSet2_EndConfiguration_Stub(
  944. IRpcStubBuffer *This,
  945. IRpcChannelBuffer *_pRpcChannelBuffer,
  946. PRPC_MESSAGE _pRpcMessage,
  947. DWORD *_pdwStubPhase);
  948. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_RequestBuffers_Proxy(
  949. IServerVirtualDeviceSet2 __RPC_FAR * This,
  950. /* [in] */ DWORD dwSize,
  951. /* [in] */ DWORD dwAlignment,
  952. /* [in] */ DWORD dwCount);
  953. void __RPC_STUB IServerVirtualDeviceSet2_RequestBuffers_Stub(
  954. IRpcStubBuffer *This,
  955. IRpcChannelBuffer *_pRpcChannelBuffer,
  956. PRPC_MESSAGE _pRpcMessage,
  957. DWORD *_pdwStubPhase);
  958. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_QueryAvailableBuffers_Proxy(
  959. IServerVirtualDeviceSet2 __RPC_FAR * This,
  960. /* [in] */ DWORD dwSize,
  961. /* [in] */ DWORD dwAlignment,
  962. /* [out] */ DWORD __RPC_FAR *pCount);
  963. void __RPC_STUB IServerVirtualDeviceSet2_QueryAvailableBuffers_Stub(
  964. IRpcStubBuffer *This,
  965. IRpcChannelBuffer *_pRpcChannelBuffer,
  966. PRPC_MESSAGE _pRpcMessage,
  967. DWORD *_pdwStubPhase);
  968. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_ExecuteCompletionAgent_Proxy(
  969. IServerVirtualDeviceSet2 __RPC_FAR * This);
  970. void __RPC_STUB IServerVirtualDeviceSet2_ExecuteCompletionAgent_Stub(
  971. IRpcStubBuffer *This,
  972. IRpcChannelBuffer *_pRpcChannelBuffer,
  973. PRPC_MESSAGE _pRpcMessage,
  974. DWORD *_pdwStubPhase);
  975. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_OpenDevice_Proxy(
  976. IServerVirtualDeviceSet2 __RPC_FAR * This,
  977. /* [in] */ LPCWSTR lpName,
  978. /* [out] */ IServerVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
  979. void __RPC_STUB IServerVirtualDeviceSet2_OpenDevice_Stub(
  980. IRpcStubBuffer *This,
  981. IRpcChannelBuffer *_pRpcChannelBuffer,
  982. PRPC_MESSAGE _pRpcMessage,
  983. DWORD *_pdwStubPhase);
  984. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_AllocateBuffer_Proxy(
  985. IServerVirtualDeviceSet2 __RPC_FAR * This,
  986. /* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer,
  987. /* [in] */ DWORD dwSize,
  988. /* [in] */ DWORD dwAlignment);
  989. void __RPC_STUB IServerVirtualDeviceSet2_AllocateBuffer_Stub(
  990. IRpcStubBuffer *This,
  991. IRpcChannelBuffer *_pRpcChannelBuffer,
  992. PRPC_MESSAGE _pRpcMessage,
  993. DWORD *_pdwStubPhase);
  994. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_FreeBuffer_Proxy(
  995. IServerVirtualDeviceSet2 __RPC_FAR * This,
  996. /* [in] */ BYTE __RPC_FAR *pBuffer,
  997. /* [in] */ DWORD dwSize);
  998. void __RPC_STUB IServerVirtualDeviceSet2_FreeBuffer_Stub(
  999. IRpcStubBuffer *This,
  1000. IRpcChannelBuffer *_pRpcChannelBuffer,
  1001. PRPC_MESSAGE _pRpcMessage,
  1002. DWORD *_pdwStubPhase);
  1003. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_IsSharedBuffer_Proxy(
  1004. IServerVirtualDeviceSet2 __RPC_FAR * This,
  1005. /* [in] */ BYTE __RPC_FAR *pBuffer);
  1006. void __RPC_STUB IServerVirtualDeviceSet2_IsSharedBuffer_Stub(
  1007. IRpcStubBuffer *This,
  1008. IRpcChannelBuffer *_pRpcChannelBuffer,
  1009. PRPC_MESSAGE _pRpcMessage,
  1010. DWORD *_pdwStubPhase);
  1011. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_SignalAbort_Proxy(
  1012. IServerVirtualDeviceSet2 __RPC_FAR * This);
  1013. void __RPC_STUB IServerVirtualDeviceSet2_SignalAbort_Stub(
  1014. IRpcStubBuffer *This,
  1015. IRpcChannelBuffer *_pRpcChannelBuffer,
  1016. PRPC_MESSAGE _pRpcMessage,
  1017. DWORD *_pdwStubPhase);
  1018. HRESULT STDMETHODCALLTYPE IServerVirtualDeviceSet2_Close_Proxy(
  1019. IServerVirtualDeviceSet2 __RPC_FAR * This);
  1020. void __RPC_STUB IServerVirtualDeviceSet2_Close_Stub(
  1021. IRpcStubBuffer *This,
  1022. IRpcChannelBuffer *_pRpcChannelBuffer,
  1023. PRPC_MESSAGE _pRpcMessage,
  1024. DWORD *_pdwStubPhase);
  1025. #endif /* __IServerVirtualDeviceSet2_INTERFACE_DEFINED__ */
  1026. /* interface __MIDL_itf_vdi_0011 */
  1027. /* [local] */
  1028. #define CLSID_MSSQL_ClientVirtualDeviceSet IID_IClientVirtualDeviceSet
  1029. #define CLSID_MSSQL_ServerVirtualDeviceSet IID_IServerVirtualDeviceSet
  1030. #pragma pack(pop, _vdi_h_)
  1031. extern RPC_IF_HANDLE __MIDL_itf_vdi_0011_v0_0_c_ifspec;
  1032. extern RPC_IF_HANDLE __MIDL_itf_vdi_0011_v0_0_s_ifspec;
  1033. /* Additional Prototypes for ALL interfaces */
  1034. /* end of Additional Prototypes */
  1035. #ifdef __cplusplus
  1036. }
  1037. #endif
  1038. #endif