IOCTL Query (Device-Driver Function 19h)

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.

Fields

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.

Comments

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.”

See Also

Device-Driver Function 13h Generic IOCTL
Interrupt 21h Function 4410h Query IOCTL Handle
Interrupt 21h Function 4411h Query IOCTL Device