Int 21/AH=3Fh

lup.gif ldown.gif Interrups Categories Contents

rbline.gif

DOS 2+ - READ - READ FROM FILE OR DEVICE

AH = 3Fh
BX = file handle
CX = number of bytes to read
DS:DX -> buffer for data

Return:
CF clear if successful AX = number of bytes actually read (0 if at EOF before call) CF set on error AX = error code (05h,06h) (see #01680 at AH=59h/BX=0000h)

Notes: Data is read beginning at current file position, and the file position is updated after a successful read. The returned AX may be smaller than the request in CX if a partial read occurred. If reading from CON, read stops at first CR. Under the FlashTek X-32 DOS extender, the pointer is in DS:EDX

BUG: Novell NETX.EXE v3.26 and 3.31 do not set CF if the read fails due to a record lock (see AH=5Ch), though it does return AX=0005h; this has been documented by Novell

See Also: AH=27h - AH=40h - AH=93h - INT 2F/AX=1108h

Category: DOS Kernel - Int 21h - D

rbline.gif

lup.gif ldown.gif Interrups Categories Contents