|
| MemoryStream (const Ch *src, size_t size) |
|
Ch | Peek () const |
|
Ch | Take () |
|
size_t | Tell () const |
|
Ch * | PutBegin () |
|
void | Put (Ch) |
|
void | Flush () |
|
size_t | PutEnd (Ch *) |
|
const Ch * | Peek4 () const |
|
virtual HRESULT STDMETHODCALLTYPE | QueryInterface (_In_ REFIID riid, _COM_Outptr_ void **ppvObject) |
|
virtual ULONG STDMETHODCALLTYPE | AddRef () |
|
virtual ULONG STDMETHODCALLTYPE | Release () |
|
virtual HRESULT STDMETHODCALLTYPE | Read (void *pv, ULONG cb, ULONG *pcbRead) |
|
virtual HRESULT STDMETHODCALLTYPE | Write (const void *pv, ULONG cb, ULONG *pcbWritten) |
|
virtual HRESULT STDMETHODCALLTYPE | Seek (LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition) |
|
virtual HRESULT STDMETHODCALLTYPE | SetSize (ULARGE_INTEGER libNewSize) |
|
virtual HRESULT STDMETHODCALLTYPE | CopyTo (IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten) |
|
virtual HRESULT STDMETHODCALLTYPE | Commit (DWORD grfCommitFlags) |
|
virtual HRESULT STDMETHODCALLTYPE | Revert () |
|
virtual HRESULT STDMETHODCALLTYPE | LockRegion (ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) |
|
virtual HRESULT STDMETHODCALLTYPE | UnlockRegion (ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) |
|
virtual HRESULT STDMETHODCALLTYPE | Stat (_Out_ STATSTG *, DWORD grfStatFlag) |
|
virtual HRESULT STDMETHODCALLTYPE | Clone (_COM_Outptr_ IStream **ppstm) |
|
Represents an in-memory input byte stream.
This class is mainly for being wrapped by EncodedInputStream or AutoUTFInputStream.
It is similar to FileReadBuffer but the source is an in-memory buffer instead of a file.
Differences between MemoryStream and StringStream:
- StringStream has encoding but MemoryStream is a byte stream.
- MemoryStream needs size of the source buffer and the buffer don't need to be null terminated. StringStream assume null-terminated string as source.
- MemoryStream supports Peek4() for encoding detection. StringStream is specified with an encoding so it should not have Peek4().
- Note
- implements Stream concept