vdi.h
来自「sql2000 DEVTOOLS INCLUDE」· C头文件 代码 · 共 1,535 行 · 第 1/4 页
H
1,535 行
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 5.01.0164 */
/* at Wed Jun 30 16:43:31 1999
*/
/* Compiler settings for vdi.idl:
Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
error checks: allocation ref bounds_check enum stub_data
*/
//@@MIDL_FILE_HEADING( )
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __vdi_h__
#define __vdi_h__
#ifdef __cplusplus
extern "C"{
#endif
/* Forward Declarations */
#ifndef __IClientVirtualDevice_FWD_DEFINED__
#define __IClientVirtualDevice_FWD_DEFINED__
typedef interface IClientVirtualDevice IClientVirtualDevice;
#endif /* __IClientVirtualDevice_FWD_DEFINED__ */
#ifndef __IClientVirtualDeviceSet_FWD_DEFINED__
#define __IClientVirtualDeviceSet_FWD_DEFINED__
typedef interface IClientVirtualDeviceSet IClientVirtualDeviceSet;
#endif /* __IClientVirtualDeviceSet_FWD_DEFINED__ */
#ifndef __IClientVirtualDeviceSet2_FWD_DEFINED__
#define __IClientVirtualDeviceSet2_FWD_DEFINED__
typedef interface IClientVirtualDeviceSet2 IClientVirtualDeviceSet2;
#endif /* __IClientVirtualDeviceSet2_FWD_DEFINED__ */
#ifndef __IServerVirtualDevice_FWD_DEFINED__
#define __IServerVirtualDevice_FWD_DEFINED__
typedef interface IServerVirtualDevice IServerVirtualDevice;
#endif /* __IServerVirtualDevice_FWD_DEFINED__ */
#ifndef __IServerVirtualDeviceSet_FWD_DEFINED__
#define __IServerVirtualDeviceSet_FWD_DEFINED__
typedef interface IServerVirtualDeviceSet IServerVirtualDeviceSet;
#endif /* __IServerVirtualDeviceSet_FWD_DEFINED__ */
#ifndef __IServerVirtualDeviceSet2_FWD_DEFINED__
#define __IServerVirtualDeviceSet2_FWD_DEFINED__
typedef interface IServerVirtualDeviceSet2 IServerVirtualDeviceSet2;
#endif /* __IServerVirtualDeviceSet2_FWD_DEFINED__ */
/* header files for imported files */
#include "unknwn.h"
void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * );
/* interface __MIDL_itf_vdi_0000 */
/* [local] */
#pragma pack(push, _vdi_h_)
#pragma pack(8)
struct VDConfig
{
unsigned long deviceCount;
unsigned long features;
unsigned long prefixZoneSize;
unsigned long alignment;
unsigned long softFileMarkBlockSize;
unsigned long EOMWarningSize;
unsigned long serverTimeOut;
unsigned long blockSize;
unsigned long maxIODepth;
unsigned long maxTransferSize;
unsigned long bufferAreaSize;
};
enum VDFeatures
{ VDF_Removable = 0x1,
VDF_Rewind = 0x2,
VDF_Position = 0x10,
VDF_SkipBlocks = 0x20,
VDF_ReversePosition = 0x40,
VDF_Discard = 0x80,
VDF_FileMarks = 0x100,
VDF_RandomAccess = 0x200,
VDF_WriteMedia = 0x10000,
VDF_ReadMedia = 0x20000,
VDF_LatchStats = 0x80000000,
VDF_LikePipe = 0,
VDF_LikeTape = VDF_FileMarks | VDF_Removable | VDF_Rewind | VDF_Position | VDF_SkipBlocks | VDF_ReversePosition,
VDF_LikeDisk = VDF_RandomAccess
};
enum VDCommands
{ VDC_Read = 1,
VDC_Write = VDC_Read + 1,
VDC_ClearError = VDC_Write + 1,
VDC_Rewind = VDC_ClearError + 1,
VDC_WriteMark = VDC_Rewind + 1,
VDC_SkipMarks = VDC_WriteMark + 1,
VDC_SkipBlocks = VDC_SkipMarks + 1,
VDC_Load = VDC_SkipBlocks + 1,
VDC_GetPosition = VDC_Load + 1,
VDC_SetPosition = VDC_GetPosition + 1,
VDC_Discard = VDC_SetPosition + 1,
VDC_Flush = VDC_Discard + 1,
VDC_Snapshot = VDC_Flush + 1,
VDC_MountSnapshot = VDC_Snapshot + 1
};
enum VDWhence
{ VDC_Beginning = 0,
VDC_Current = VDC_Beginning + 1,
VDC_End = VDC_Current + 1
};
struct VDC_Command
{
DWORD commandCode;
DWORD size;
DWORDLONG position;
BYTE __RPC_FAR *buffer;
};
extern RPC_IF_HANDLE __MIDL_itf_vdi_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_vdi_0000_v0_0_s_ifspec;
#ifndef __IClientVirtualDevice_INTERFACE_DEFINED__
#define __IClientVirtualDevice_INTERFACE_DEFINED__
/* interface IClientVirtualDevice */
/* [object][uuid] */
EXTERN_C const IID IID_IClientVirtualDevice;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("40700424-0080-11d2-851f-00c04fc21759")
IClientVirtualDevice : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCommand(
/* [in] */ DWORD dwTimeOut,
/* [out] */ struct VDC_Command __RPC_FAR *__RPC_FAR *ppCmd) = 0;
virtual HRESULT STDMETHODCALLTYPE CompleteCommand(
/* [in] */ struct VDC_Command __RPC_FAR *pCmd,
/* [in] */ DWORD dwCompletionCode,
/* [in] */ DWORD dwBytesTransferred,
/* [in] */ DWORDLONG dwlPosition) = 0;
};
#else /* C style interface */
typedef struct IClientVirtualDeviceVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
IClientVirtualDevice __RPC_FAR * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
IClientVirtualDevice __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
IClientVirtualDevice __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCommand )(
IClientVirtualDevice __RPC_FAR * This,
/* [in] */ DWORD dwTimeOut,
/* [out] */ struct VDC_Command __RPC_FAR *__RPC_FAR *ppCmd);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompleteCommand )(
IClientVirtualDevice __RPC_FAR * This,
/* [in] */ struct VDC_Command __RPC_FAR *pCmd,
/* [in] */ DWORD dwCompletionCode,
/* [in] */ DWORD dwBytesTransferred,
/* [in] */ DWORDLONG dwlPosition);
END_INTERFACE
} IClientVirtualDeviceVtbl;
interface IClientVirtualDevice
{
CONST_VTBL struct IClientVirtualDeviceVtbl __RPC_FAR *lpVtbl;
};
#ifdef COBJMACROS
#define IClientVirtualDevice_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IClientVirtualDevice_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IClientVirtualDevice_Release(This) \
(This)->lpVtbl -> Release(This)
#define IClientVirtualDevice_GetCommand(This,dwTimeOut,ppCmd) \
(This)->lpVtbl -> GetCommand(This,dwTimeOut,ppCmd)
#define IClientVirtualDevice_CompleteCommand(This,pCmd,dwCompletionCode,dwBytesTransferred,dwlPosition) \
(This)->lpVtbl -> CompleteCommand(This,pCmd,dwCompletionCode,dwBytesTransferred,dwlPosition)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IClientVirtualDevice_GetCommand_Proxy(
IClientVirtualDevice __RPC_FAR * This,
/* [in] */ DWORD dwTimeOut,
/* [out] */ struct VDC_Command __RPC_FAR *__RPC_FAR *ppCmd);
void __RPC_STUB IClientVirtualDevice_GetCommand_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IClientVirtualDevice_CompleteCommand_Proxy(
IClientVirtualDevice __RPC_FAR * This,
/* [in] */ struct VDC_Command __RPC_FAR *pCmd,
/* [in] */ DWORD dwCompletionCode,
/* [in] */ DWORD dwBytesTransferred,
/* [in] */ DWORDLONG dwlPosition);
void __RPC_STUB IClientVirtualDevice_CompleteCommand_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IClientVirtualDevice_INTERFACE_DEFINED__ */
#ifndef __IClientVirtualDeviceSet_INTERFACE_DEFINED__
#define __IClientVirtualDeviceSet_INTERFACE_DEFINED__
/* interface IClientVirtualDeviceSet */
/* [object][uuid] */
EXTERN_C const IID IID_IClientVirtualDeviceSet;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("40700425-0080-11d2-851f-00c04fc21759")
IClientVirtualDeviceSet : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Create(
/* [in] */ LPCWSTR lpName,
/* [in] */ struct VDConfig __RPC_FAR *pCfg) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConfiguration(
/* [in] */ DWORD dwTimeOut,
/* [out] */ struct VDConfig __RPC_FAR *pCfg) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenDevice(
/* [in] */ LPCWSTR lpName,
/* [out] */ IClientVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice) = 0;
virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SignalAbort( void) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenInSecondary(
/* [in] */ LPCWSTR lpSetName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferHandle(
/* [in] */ BYTE __RPC_FAR *pBuffer,
/* [out] */ DWORD __RPC_FAR *pBufferHandle) = 0;
virtual HRESULT STDMETHODCALLTYPE MapBufferHandle(
/* [in] */ DWORD dwBuffer,
/* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer) = 0;
};
#else /* C style interface */
typedef struct IClientVirtualDeviceSetVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
IClientVirtualDeviceSet __RPC_FAR * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
IClientVirtualDeviceSet __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
IClientVirtualDeviceSet __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Create )(
IClientVirtualDeviceSet __RPC_FAR * This,
/* [in] */ LPCWSTR lpName,
/* [in] */ struct VDConfig __RPC_FAR *pCfg);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConfiguration )(
IClientVirtualDeviceSet __RPC_FAR * This,
/* [in] */ DWORD dwTimeOut,
/* [out] */ struct VDConfig __RPC_FAR *pCfg);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDevice )(
IClientVirtualDeviceSet __RPC_FAR * This,
/* [in] */ LPCWSTR lpName,
/* [out] */ IClientVirtualDevice __RPC_FAR *__RPC_FAR *ppVirtualDevice);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )(
IClientVirtualDeviceSet __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SignalAbort )(
IClientVirtualDeviceSet __RPC_FAR * This);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenInSecondary )(
IClientVirtualDeviceSet __RPC_FAR * This,
/* [in] */ LPCWSTR lpSetName);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferHandle )(
IClientVirtualDeviceSet __RPC_FAR * This,
/* [in] */ BYTE __RPC_FAR *pBuffer,
/* [out] */ DWORD __RPC_FAR *pBufferHandle);
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapBufferHandle )(
IClientVirtualDeviceSet __RPC_FAR * This,
/* [in] */ DWORD dwBuffer,
/* [out] */ BYTE __RPC_FAR *__RPC_FAR *ppBuffer);
END_INTERFACE
} IClientVirtualDeviceSetVtbl;
interface IClientVirtualDeviceSet
{
CONST_VTBL struct IClientVirtualDeviceSetVtbl __RPC_FAR *lpVtbl;
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?