Serial Framework C++ Edition
Public Member Functions | List of all members
CwclStreamAdapter Class Reference

The class implements the IStream interface on a CwclStream object. More...

#include <wclHelpers.h>

Inheritance diagram for CwclStreamAdapter:

Public Member Functions

virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID riid, void **ppvObject) override
 Queries a COM object for a pointer to one of its interface; identifying the interface by a reference to its interface identifier (IID). If the COM object implements the interface, then it returns a pointer to that interface after calling AddRef on it.
 
virtual ULONG STDMETHODCALLTYPE AddRef () override
 Increments the reference count for an interface pointer to a COM object. You should call this method whenever you make a copy of an interface pointer.
 
virtual ULONG STDMETHODCALLTYPE Release () override
 Decrements the reference count for an interface on a COM object.
 
virtual HRESULT STDMETHODCALLTYPE Read (void *pv, ULONG cb, ULONG *pcbRead) override
 The method reads a specified number of bytes from the stream object into memory, starting at the current seek pointer.
 
virtual HRESULT STDMETHODCALLTYPE Write (const void *pv, ULONG cb, ULONG *pcbWritten) override
 The method writes a specified number of bytes into the stream object starting at the current seek pointer.
 
virtual HRESULT STDMETHODCALLTYPE Seek (LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition) override
 The method changes the seek pointer to a new location. The new location is relative to either the beginning of the stream, the end of the stream, or the current seek pointer.
 
virtual HRESULT STDMETHODCALLTYPE SetSize (ULARGE_INTEGER libNewSize) override
 The method changes the size of the stream object.
 
virtual HRESULT STDMETHODCALLTYPE CopyTo (IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten) override
 The method copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.
 
virtual HRESULT STDMETHODCALLTYPE Commit (DWORD grfCommitFlags) override
 The method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.
 
virtual HRESULT STDMETHODCALLTYPE Revert () override
 The method discards all changes that have been made to a transacted stream since the last Commit call. On streams open in direct mode and streams using the COM compound file implementation of IStream::Revert, this method has no effect.
 
virtual HRESULT STDMETHODCALLTYPE LockRegion (ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) override
 The method restricts access to a specified range of bytes in the stream. Supporting this functionality is optional since some file systems do not provide it.
 
virtual HRESULT STDMETHODCALLTYPE UnlockRegion (ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) override
 The method removes the access restriction on a range of bytes previously restricted with LockRegion.
 
virtual HRESULT STDMETHODCALLTYPE Stat (STATSTG *pstatstg, DWORD grfStatFlag) override
 The method retrieves the STATSTG structure for this stream.
 
virtual HRESULT STDMETHODCALLTYPE Clone (IStream **ppstm) override
 The method creates a new stream object with its own seek pointer that references the same bytes as the original stream.
 
 CwclStreamAdapter (CwclStream *const Stream, const wclStreamOwnership Ownership=soReference)
 Creates new Stream Adapter object.
 
virtual ~CwclStreamAdapter ()
 Frees the Stream Adapter object.
 
CwclStreamGetStream () const
 Gets the CwclStream object that is owned by the Stream Adapter.
 
wclStreamOwnership GetStreamOwnership () const
 Gets the associated Stream ownership.
 
void SetStreamOwnership (const wclStreamOwnership Value)
 Sets the associated Stream ownership.
 

Detailed Description

The class implements the IStream interface on a CwclStream object.