home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / vdi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  29.9 KB  |  982 lines

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