231 lines
6.5 KiB
C
231 lines
6.5 KiB
C
/* vxStream.h generated by WIDL Version 2.2.1 on 06-Dec-01 at 11:42:42 AM */
|
|
|
|
#include "comBase.h"
|
|
|
|
#ifndef __INCvxStream_h
|
|
#define __INCvxStream_h
|
|
|
|
|
|
#include "comCoreTypes.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
int include_vxStream (void);
|
|
|
|
#ifndef __ISequentialStream_FWD_DEFINED__
|
|
#define __ISequentialStream_FWD_DEFINED__
|
|
typedef interface ISequentialStream ISequentialStream;
|
|
#endif /* __ISequentialStream_FWD_DEFINED__ */
|
|
|
|
#ifndef __IStream_FWD_DEFINED__
|
|
#define __IStream_FWD_DEFINED__
|
|
typedef interface IStream IStream;
|
|
#endif /* __IStream_FWD_DEFINED__ */
|
|
|
|
typedef IStream* LPSTREAM;
|
|
|
|
struct tagSTATSTG
|
|
{
|
|
LPOLESTR pwcsName;
|
|
DWORD type;
|
|
ULARGE_INTEGER cbSize;
|
|
FILETIME mtime;
|
|
FILETIME ctime;
|
|
FILETIME atime;
|
|
DWORD grfMode;
|
|
DWORD grfLocksSupported;
|
|
CLSID clsid;
|
|
DWORD grfStateBits;
|
|
DWORD reserved;
|
|
};
|
|
|
|
typedef struct tagSTATSTG STATSTG;
|
|
|
|
enum tagSTGTY
|
|
{
|
|
STGTY_STORAGE = 1,
|
|
STGTY_STREAM = 2,
|
|
STGTY_LOCKBYTES = 3,
|
|
STGTY_PROPERTY = 4,
|
|
};
|
|
|
|
typedef enum tagSTGTY STGTY;
|
|
|
|
enum tagSTREAM_SEEK
|
|
{
|
|
STREAM_SEEK_SET = 0,
|
|
STREAM_SEEK_CUR = 1,
|
|
STREAM_SEEK_END = 2,
|
|
};
|
|
|
|
typedef enum tagSTREAM_SEEK STREAM_SEEK;
|
|
|
|
enum tagLOCKTYPE
|
|
{
|
|
LOCK_WRITE = 1,
|
|
LOCK_EXCLUSIVE = 2,
|
|
LOCK_ONLYONCE = 4,
|
|
};
|
|
|
|
typedef enum tagLOCKTYPE LOCKTYPE;
|
|
|
|
typedef struct
|
|
{
|
|
COM_VTBL_BEGIN
|
|
COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));
|
|
|
|
#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject)
|
|
|
|
COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));
|
|
|
|
#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis))
|
|
|
|
COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));
|
|
|
|
#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis))
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Read, (ISequentialStream* pThis, void* pv, ULONG cb, ULONG* pcbRead));
|
|
|
|
#define ISequentialStream_Read(pThis, pv, cb, pcbRead) pThis->lpVtbl->Read(COM_ADJUST_THIS(pThis), pv, cb, pcbRead)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Write, (ISequentialStream* pThis, const void* pv, ULONG cb, ULONG* pcbWritten));
|
|
|
|
#define ISequentialStream_Write(pThis, pv, cb, pcbWritten) pThis->lpVtbl->Write(COM_ADJUST_THIS(pThis), pv, cb, pcbWritten)
|
|
|
|
COM_VTBL_END
|
|
} ISequentialStreamVtbl;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
interface ISequentialStream : public IUnknown
|
|
{
|
|
virtual HRESULT Read (void* pv, ULONG cb, ULONG* pcbRead) =0;
|
|
|
|
virtual HRESULT Write (const void* pv, ULONG cb, ULONG* pcbWritten) =0;
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
/* C interface definition for ISequentialStream */
|
|
|
|
interface ISequentialStream
|
|
{
|
|
const ISequentialStreamVtbl * lpVtbl;
|
|
};
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
EXTERN_C const IID IID_ISequentialStream;
|
|
|
|
typedef struct
|
|
{
|
|
COM_VTBL_BEGIN
|
|
COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));
|
|
|
|
#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject)
|
|
|
|
COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));
|
|
|
|
#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis))
|
|
|
|
COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));
|
|
|
|
#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis))
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Read, (ISequentialStream* pThis, void* pv, ULONG cb, ULONG* pcbRead));
|
|
|
|
#define ISequentialStream_Read(pThis, pv, cb, pcbRead) pThis->lpVtbl->Read(COM_ADJUST_THIS(pThis), pv, cb, pcbRead)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Write, (ISequentialStream* pThis, const void* pv, ULONG cb, ULONG* pcbWritten));
|
|
|
|
#define ISequentialStream_Write(pThis, pv, cb, pcbWritten) pThis->lpVtbl->Write(COM_ADJUST_THIS(pThis), pv, cb, pcbWritten)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Seek, (IStream* pThis, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition));
|
|
|
|
#define IStream_Seek(pThis, dlibMove, dwOrigin, plibNewPosition) pThis->lpVtbl->Seek(COM_ADJUST_THIS(pThis), dlibMove, dwOrigin, plibNewPosition)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, SetSize, (IStream* pThis, ULARGE_INTEGER libNewSize));
|
|
|
|
#define IStream_SetSize(pThis, libNewSize) pThis->lpVtbl->SetSize(COM_ADJUST_THIS(pThis), libNewSize)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, CopyTo, (IStream* pThis, IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten));
|
|
|
|
#define IStream_CopyTo(pThis, pstm, cb, pcbRead, pcbWritten) pThis->lpVtbl->CopyTo(COM_ADJUST_THIS(pThis), pstm, cb, pcbRead, pcbWritten)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Commit, (IStream* pThis, DWORD grfCommitFlags));
|
|
|
|
#define IStream_Commit(pThis, grfCommitFlags) pThis->lpVtbl->Commit(COM_ADJUST_THIS(pThis), grfCommitFlags)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Revert, (IStream* pThis));
|
|
|
|
#define IStream_Revert(pThis) pThis->lpVtbl->Revert(COM_ADJUST_THIS(pThis))
|
|
|
|
COM_VTBL_ENTRY (HRESULT, LockRegion, (IStream* pThis, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType));
|
|
|
|
#define IStream_LockRegion(pThis, libOffset, cb, dwLockType) pThis->lpVtbl->LockRegion(COM_ADJUST_THIS(pThis), libOffset, cb, dwLockType)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, UnlockRegion, (IStream* pThis, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType));
|
|
|
|
#define IStream_UnlockRegion(pThis, libOffset, cb, dwLockType) pThis->lpVtbl->UnlockRegion(COM_ADJUST_THIS(pThis), libOffset, cb, dwLockType)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Stat, (IStream* pThis, STATSTG* pstatstg, DWORD grfStatFlag));
|
|
|
|
#define IStream_Stat(pThis, pstatstg, grfStatFlag) pThis->lpVtbl->Stat(COM_ADJUST_THIS(pThis), pstatstg, grfStatFlag)
|
|
|
|
COM_VTBL_ENTRY (HRESULT, Clone, (IStream* pThis, IStream** ppstm));
|
|
|
|
#define IStream_Clone(pThis, ppstm) pThis->lpVtbl->Clone(COM_ADJUST_THIS(pThis), ppstm)
|
|
|
|
COM_VTBL_END
|
|
} IStreamVtbl;
|
|
|
|
#ifdef __cplusplus
|
|
|
|
interface IStream : public ISequentialStream
|
|
{
|
|
virtual HRESULT Seek (LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) =0;
|
|
|
|
virtual HRESULT SetSize (ULARGE_INTEGER libNewSize) =0;
|
|
|
|
virtual HRESULT CopyTo (IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) =0;
|
|
|
|
virtual HRESULT Commit (DWORD grfCommitFlags) =0;
|
|
|
|
virtual HRESULT Revert () =0;
|
|
|
|
virtual HRESULT LockRegion (ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) =0;
|
|
|
|
virtual HRESULT UnlockRegion (ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) =0;
|
|
|
|
virtual HRESULT Stat (STATSTG* pstatstg, DWORD grfStatFlag) =0;
|
|
|
|
virtual HRESULT Clone (IStream** ppstm) =0;
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
/* C interface definition for IStream */
|
|
|
|
interface IStream
|
|
{
|
|
const IStreamVtbl * lpVtbl;
|
|
};
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
EXTERN_C const IID IID_IStream;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* __INCvxStream_h */
|
|
|
|
|