Function 70 - work with file system with long names support.
Parameters:
- eax = 70
- ebx = pointer to the information structure
Returned value:
General format of the information structure:
- +0: dword: subfunction number
- +4: dword: file offset
- +8: dword: high dword of offset (must be 0) or flags field
- +12 = +0xC: dword: size
- +16 = +0x10: dword: pointer to data
- +20 = +0x14: n db: ASCIIZ-string with the filename
or
- +20 = +0x14: db 0
- +21 = +0x15: dd pointer to ASCIIZ-string with the filename
Specifications - in documentation on the appropriate subfunction.
Filename is case-insensitive. Russian letters must be written in
the encoding cp866 (DOS).
Format of filename:
/base/number/dir1/dir2/.../dirn/file,
where /base/number identifies device, on which file is located:
one of
- /RD/1 = /RAMDISK/1 to access ramdisk
- /FD/1 = /FLOPPYDISK/1 to access first floppy drive,
/FD/2 = /FLOPPYDISK/2 to access second one
- /HD0/x, /HD1/x, /HD2/x, /HD3/x to access accordingly to devices
IDE0 (Primary Master), IDE1 (Primary Slave),
IDE2 (Secondary Master), IDE3 (Secondary Slave);
x - partition number on the selected hard drive, varies from 1
to 255 (on each hard drive the indexing starts from 1)
- /CD0/1, /CD1/1, /CD2/1, /CD3/1 to access accordingly to
CD on IDE0 (Primary Master), IDE1 (Primary Slave),
IDE2 (Secondary Master), IDE3 (Secondary Slave)
- /SYS means system folder; with the usual boot (from floppy)
is equivalent to /RD/1
Examples:
- '/rd/1/kernel.asm',0
- '/HD0/1/kernel.asm',0
- '/hd0/2/menuet/pics/tanzania.bmp',0
- '/hd0/1/Program files/NameOfProgram/SomeFile.SomeExtension',0
- '/sys/MySuperApp.ini',0
Available subfunctions:
For CD-drives due to hardware limitations only subfunctions
0,1,5 and 7 are available, other subfunctions return error
with code 2.
At the first call of subfunctions 0,1,5,7 to ATAPI devices
(CD and DVD) the manual control of tray is locked due to caching
drive data. Unlocking is made when subfunction 4 of function 24
is called for corresponding device.