[Windows 95 only.]
Sets the access flag for the specified drive.
mov bx, Drive ;See below mov ch, DeviceCat ;See below mov cl, 47h ;Set access flag mov dx, seg SpecialFunc ;See below mov ds, dx mov dx, offset SpecialFunc ;ds:dx points to SPECIALFUNC structure mov ax, 440Dh ;IOCTL for block device int 21h jc error_handler ;carry set means error
Drive
Specifies the drive for which the access flag is to be set (0 = default drive, 1 = A, 2 = B, and so on).
DeviceCat
Specifies a FAT16, FAT12 or FAT32 drive.
|
Value |
Description |
|
08h |
FAT16 or FAT12 drive. (Will fail on FAT32 drives.) |
|
48h |
FAT32, FAT16, or FAT12 drive. This value is supported on Windows 95 OEM Service Release 2 and later. |
Note: Because this call may be implemented in the device driver, the 48h form of this call may fail on FAT16 or FAT12 media. Therefore, applications making the 48h form of this call must fall back on the 08h form if the 48h call fails.
SpecialFunc
Points to a SPECIALFUNC structure that contains information specifying the state of the access flag. The SPECIALFUNC structure has the following form:
SPECIALFUNC STRUC
sfFunction db 0 ;special function (must be 0)
sfAccessFlg db ? ;access flag, 0 if access blocked
;"unformatted"
SPECIALFUNC ENDS
If the function is successful, clears the carry flag. Otherwise sets the carry flag, and sets the AX register to one of the following error values.
|
Value |
Name |
|
0001h |
ERROR_INVALID_FUNCTION |
|
0002h |
ERROR_FILE_NOT_FOUND |
|
0005h |
ERROR_ACCESS_DENIED |
Set Access Flag returns 0002h (ERROR_FILE_NOT_FOUND) if the specified drive number is invalid.