IOCTLREQUEST STRUC
giLength db ? ;length of record, in bytes
giUnit db ? ;unit number (block device only)
giFunction db 19h ;function number
giStatus dw ? ;status
giReserved1 db 8 dup(?) ;reserved
giCategory db ? ;INPUT: device category
giMinorCode db ? ;INPUT: minor code
giReserved2 dd ? ;reserved
giIOCTLData dd ? ;INPUT: IOCTL data address
IOCTLREQUEST ENDS
IOCTL Query (Device-Driver Function 19h) determines whether a given generic IOCTL function (minor code) is supported by the driver.
This function can be used for both block- and character-device drivers.
giLength
Specifies the length, in bytes, of the request packet.
giUnit
Specifies the device the request is for. This field is used for block-device drivers only.
giFunction
Specifies the IOCTL Query function: 19h.
giStatus
Receives the status of the query. If the driver does not support the given generic IOCTL function, it must set the error and done bits (bits 15 and 8) and set the low-order 8 bits to error value 03h (Unknown Function). Otherwise, it must set the done bit.
giReserved1
Reserved; do not use.
giCategory
Specifies the category of the generic IOCTL function to be checked.
giMinorCode
Specifies the minor code of the generic IOCTL function to be checked.
giReserved2
Reserved; do not use.
giIOCTLData
This field is not used by this function and must not be changed.
MS-DOS calls this function only if bit 7 is set in the dhAttributes field of the driver's DEVICEHEADER structure. For a full description of the DEVICEHEADER structure, see Section 9.9, “Structures.”
Device-Driver Function 13h Generic IOCTL
Interrupt 21h Function 4410h Query IOCTL Handle
Interrupt 21h Function 4411h Query IOCTL Device