Class TAsyncFileStream (unit dsstream)

Inherits from

THandleStream

Constructors


constructor Create(const FileName: string; Mode: Word);

******************************************************************* TAsyncFileStream


Functions

function Busy:boolean;


function Cancel:boolean;


destructor Destroy;

=0 for NT

function NumPendingRequests:integer;


function Read(var Buffer;Count:longint):longint;

synchronous read

function ReadAsync(var Buffer;Count:longint):longint;

asynchronous read

function Seek(Offset: Longint; Origin: Word): Longint;


procedure SetSize(NewSize:longint);


procedure Wait;


function Write(const Buffer;Count:longint):longint;

asynchronous write

function WriteSync(var Buffer;Count:longint):longint;

synchronous write

procedure AddRequest(Request:PRequest);


procedure DeleteRequest(var Request:PRequest);


function IsRequestPending(Request:TRequest):boolean;


Properties

Events

Variables

CapacityDelta : integer;


FCapacity : integer;


FNumRequests : integer;


FPosition : integer;


FRequests : ^TRequestsArray;


FSize : integer;



Constructors


constructor Create(const FileName: string; Mode: Word);

******************************************************************* TAsyncFileStream


Functions


function Busy:boolean;


function Cancel:boolean;


destructor Destroy;

=0 for NT


function NumPendingRequests:integer;


function Read(var Buffer;Count:longint):longint;

synchronous read


function ReadAsync(var Buffer;Count:longint):longint;

asynchronous read


function Seek(Offset: Longint; Origin: Word): Longint;


procedure SetSize(NewSize:longint);


procedure Wait;


function Write(const Buffer;Count:longint):longint;

asynchronous write


function WriteSync(var Buffer;Count:longint):longint;

synchronous write


procedure AddRequest(Request:PRequest);


procedure DeleteRequest(var Request:PRequest);


function IsRequestPending(Request:TRequest):boolean;


Properties


Events


Variables


CapacityDelta : integer;


FCapacity : integer;


FNumRequests : integer;


FPosition : integer;


FRequests : ^TRequestsArray;


FSize : integer;