Windows2003-3790/inetcore/urlmon/stg/cstream.hxx
2020-09-30 16:53:55 +02:00

51 lines
1.8 KiB
C++

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1995.
//
// File: CSTREAM.HXX
//
// Contents:
//
// Classes: Declaration for IStream class
//
// Functions:
//
// History: 12-01-95 JoeS (Joe Souza) Created
//
//----------------------------------------------------------------------------
class FAR CStream : public IStream
{
public:
CStream(IStream *pStr);
// *** IUnknown methods ***
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj);
STDMETHOD_(ULONG,AddRef) (THIS);
STDMETHOD_(ULONG,Release) (THIS);
// *** IStream methods ***
STDMETHOD(Read) (THIS_ VOID HUGEP *pv, ULONG cb, ULONG FAR *pcbRead);
STDMETHOD(Write) (THIS_ VOID const HUGEP *pv, ULONG cb,
ULONG FAR *pcbWritten);
STDMETHOD(Seek) (THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin,
ULARGE_INTEGER FAR *plibNewPosition);
STDMETHOD(SetSize) (THIS_ ULARGE_INTEGER libNewSize);
STDMETHOD(CopyTo) (THIS_ LPSTREAM pStm, ULARGE_INTEGER cb,
ULARGE_INTEGER FAR *pcbRead, ULARGE_INTEGER FAR *pcbWritten);
STDMETHOD(Commit) (THIS_ DWORD dwCommitFlags);
STDMETHOD(Revert) (THIS);
STDMETHOD(LockRegion) (THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType);
STDMETHOD(UnlockRegion) (THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType);
STDMETHOD(Stat) (THIS_ STATSTG FAR *pStatStg, DWORD grfStatFlag);
STDMETHOD(Clone) (THIS_ LPSTREAM FAR *ppStm);
private:
CRefCount _CRefs;
IStream *_pStream;
};