<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.1.25080.3" />

IStream

public static void PopulateVTable(Vtbl* vtable)

public uint AddRef()

public HRESULT Clone(IStream** ppstm)

The Clone method creates a new stream object with its own seek pointer that references the same bytes as the original stream.

public HRESULT Commit(uint grfCommitFlags)

The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage.

public HRESULT CopyTo(IStream* pstm, ulong cb, UInt64* pcbRead, UInt64* pcbWritten)

Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.

public HRESULT LockRegion(ulong libOffset, ulong cb, uint dwLockType)

The LockRegion method restricts access to a specified range of bytes in the stream.

public HRESULT QueryInterface(Guid* riid, Void** ppvObject)

public HRESULT Read(Void* pv, uint cb, UInt32* pcbRead)

public uint Release()

public HRESULT Revert()

The Revert method discards all changes that have been made to a transacted stream since the last IStream::Commit call. On streams open in direct mode and streams using the COM compound file implementation of IStream::Revert, this method has no effect.

public HRESULT Seek(long dlibMove, SeekOrigin dwOrigin, UInt64* plibNewPosition)

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.

public HRESULT SetSize(ulong libNewSize)

Changes the size of the stream object.

public HRESULT Stat(STATSTG* pstatstg, uint grfStatFlag)

The Stat method retrieves the STATSTG structure for this stream.

public HRESULT UnlockRegion(ulong libOffset, ulong cb, uint dwLockType)

The UnlockRegion method removes the access restriction on a range of bytes previously restricted with IStream::LockRegion.

public HRESULT Write(Void* pv, uint cb, UInt32* pcbWritten)