// usbprint.h
// CTL_CODE(0x0022, 0x012, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_SET_PROTOCOL 0x00220048
View the official Windows Driver Kit DDI referenceNo description available.
Set the current printer protocol code of the USB printer interface.
Pointer to a DWORD
sizeof(DWORD)
NULL
0
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_SET_PROTOCOL supports the following values:
| Defined constant | Value |
|---|---|
| USB_PRINTER_PROTOCOL_BIDI | 2 |
If an interface supports IPP over USB, then it is started in the IPP over USB protocol. If the Windows print system detects that IHV drivers have been installed for the printer, then it will switch the printer back to BIDI.