Function 42h Move a File Read/Write Pointer (LSEEK)
entry AH 42h
AL method code
00h offset from beginning of file
01h offset from present location
02h offset from end of file
BX file handle
CX most significant half of offset
DX least significant half of offset
return AX low offset of new file pointer
DX high offset of new file pointer
CF 0 successful move
1 error
AX error code (1, 6)
note 1) If pointer is at end of file, reflects file size in bytes.
2) The value in DX:AX is the absolute 32 bit byte offset from the beginning
of the file
3) for origins 01h and 02h, the pointer may be positioned before the
start of the file; no error is returned in that case (except under
Windows NT), but subsequent attempts at I/O will produce errors
4) if the new position is beyond the current end of file, the file will
be extended by the next write (see AH=40h); for FAT32 drives, the
file must have been opened with AX=6C00h with the "extended size"
flag in order to expand the file beyond 2GB
bugs using this method to grow a file from zero bytes to a very large size
can corrupt the FAT in some versions of DOS; the file should first
be grown from zero to one byte and then to the desired large size
file: /Techref/INT/21f/42.htm, 1KB, , updated: 1999/6/11 08:18, local time: 2024/11/16 04:24,
|
| ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://linistepper.com/techref/INT/21f/42.htm"> INT 21f 42</A> |
Did you find what you needed?
|