Welcome to the new DelphiDabbler Code Library Documentation.

This is a new site that's currently running on alpha code. There are going to be bugs. If you discover any, please report them on the site's issues page (GitHub account required). Thanks.

Warning: Many URLs are going to change. Refer to the README file to discover which library project's documentation has been completed.

TPJHandleIStreamWrapper class

Project: Stream Extension Classes

Unit: PJIStreams

Applies to: ~>3.0


This class wraps a stream of type THandleStream or its sub-classes (such as TFileStream) and provides an IStream interface to the stream.

TPJHandleIStreamWrapper descends from, and acts the same as, TPJIStreamWrapper with the exception that the TStatStg structure returned by the Stat method also returns information about file creation, modification and access dates where available.


Method Description
Clone Method of IStream. Creates a new IStream object that accesses the same physical stream. Not supported in this implementation.
Commit Method of IStream. Commits pending changes.
CopyTo Method of IStream. Copies data from the wrapped stream into another stream.
Create Object constructor. Creates a new wrapper object for a given THandleStream instance.
LockRegion Method of IStream. Restricts access to a specified range of bytes in the stream. Not supported in this implementation.
Read Method of IStream. Reads data from the wrapped stream.
Revert Method of IStream. Discards un-committed changes in a transacted stream.
Seek Method of IStream. Changes the seek pointer to a new location.
SetSize Method of IStream. Changes the size of the stream.
Stat Method of IStream. Retrieves the TStatStg structure that provides information about the wrapped stream.
UnlockRegion Method of IStream. Removes access restrictions from a range of bytes in the stream. Not supported in this implementation.
Write Method of IStream. Writes data to the wrapped stream.

Method visibility

[~>3.0.0] Methods of IStream have protected visibility in TPJHandleIStreamWrapper and cannot be accessed from an object instance referenced by a variable of type TPJHandleIStreamWrapper. The methods can only be accessed via the object’s IStream interface.

[~>3.1] Methods of IStream have public visibility.


TPJHandleIStreamWrapper exposes no properties.


TPJHandleIStreamWrapper exposes no events.