IOCTL_USBPRINT_SET_PROTOCOL - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// usbprint.h

// CTL_CODE(0x0022, 0x012, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_USBPRINT_SET_PROTOCOL 0x00220048
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ni-usbprint-ioctl_usbprint_set_protocol)

Major Code: IRP_MJ_DEVICE_CONTROL

Description

Set the current printer protocol code of the USB printer interface.

Parameters

Major code

Input buffer

Pointer to a DWORD

Input buffer length

sizeof(DWORD)

Output buffer

NULL

Output buffer length

0

Input/output buffer

Input/output buffer length

Status block

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.

Remarks

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.

See also