// usbprint.h
// CTL_CODE(0x0022, 0x013, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_GET_INTERFACE_TYPE 0x0022004C
View the official Windows Driver Kit DDI referenceNo description available.
Get the protocol capabilities of the USB printer interface.
NULL
0
Pointer to a DWORD
sizeof(DWORD)
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.
For more information, see NTSTATUS Values.
IOCTL_USBPRINT_GET_INTERFACE_TYPE returns one of the following values:
| Defined constant | Value | Description |
|---|---|---|
| USB_PRINTER_INTERFACE_CLASSIC | 1 | Has only 7-1-2 alternate config |
| USB_PRINTER_INTERFACE_IPP | 2 | Has only 7-1-4 alternate config |
| USB_PRINTER_INTERFACE_DUAL | 3 | Has both 7-1-2 and 7-1-4 alternate configs |
7-1-2 refers to USB class printer(7), subclass(1), protocol(2==BIDI).
7-1-4 refers to USB class printer(7), subclass(1), protocol(4==IPP over USB).