Files
vxWorks/h/vxStream.h
2025-08-20 18:25:46 +08:00

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 */