Site Tools


documentation:development:opera:pf25:tktfldr:dsrfldr:01dsr003

AsynchReadBlockFile

Reads data blocks from file.

Synopsis

int32 AsynchReadBlockFile (BlockFilePtr bf, Item ioreqItem, void* buffer, long count, long offset)

Description

Reads a number of data blocks from the specified block file. AsynchReadBlockFile() calls SendIO() to make an asynchronous Portfolio I/O request for the data.

Because AsynchReadBlockFile() reads only whole blocks from the specified file, it reads the first whole block containing the location specified by offset (that is, it begins to read data blocks at the block margin prior to the specified byte location).

The file must be opened by OpenBlockFile() before AsynchReadBlockFile() can read data blocks from it.

Arguments

  • bf Pointer to the block file.
  • ioreqItem Item of the I/O request.
  • buffer Pointer to buffer into which the data blocks are read.
  • count Number of bytes that are read.
  • offset Location at which the first block is read, measured in bytes from the start of the file.

Return Value

  • Value Error Condition
  • 0 None (the I/O request has not completed)
  • 1 None (the I/O request has already completed)
  • (Portfolio error code) SendIO() failed

AsynchReadBlockFile() does not return the value of the io_Error field to which returns the status of the I/O request.

See “Error Messages” in the 3DO Portfolio Reference Manual for a listing of error messages returned by CreateItem().

Caveats

This function only works when called with a count that's the multiple of the cel's blocksize.

Associated Files

BlockFile.h

See Also

documentation/development/opera/pf25/tktfldr/dsrfldr/01dsr003.txt · Last modified: 2022/10/10 16:54 by 127.0.0.1