IOCTL_IEEE1284_GET_MODE - NtDoc

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

// CTL_CODE(0x0016, 0x005, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_IEEE1284_GET_MODE 0x00160014
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ni-ntddpar-ioctl_ieee1284_get_mode)

IOCTL_IEEE1284_GET_MODE IOCTL

Major Code:

IRP_MJ_DEVICE_CONTROL

Description

The IOCTL_IEEE1284_GET_MODE request returns the IEEE 1284 read and write protocols that are currently set for a parallel device. This request does not require that the parallel port, to which the parallel device is attached, be locked.

For more information, see Setting and Clearing a Communication Mode for a Parallel Device.

Parameters

Major code

Input buffer

None.

Input buffer length

None.

Output buffer

The AssociatedIrp.SystemBuffer member points to a PARCLASS_NEGOTIATION_MASK structure that the client allocates to output mode information. The system-supplied bus driver for parallel ports specifies the read (reverse) protocol in the usReadMask member and the write (forward) protocol in the usWriteMask member.

Output buffer length

The Parameters.DeviceIoControl.OutputBufferLength member is set to the size, in bytes, of a PARCLASS_NEGOTIATION_MASK structure.

Input/output buffer

Input/output buffer length

Status block

If the request is successful, the Information member is set to the size, in bytes, of a PARCLASS_NEGOTIATION_MASK. Otherwise, the Information member is set to zero.

The Status member is set to one of the generic status values returned by device control requests for parallel devices or to the following value:

STATUS_BUFFER_TOO_SMALL

The value of Parameters.DeviceIoControl.OutputBufferLength is less than the size, in bytes, of a PARCLASS_NEGOTIATION_MASK structure.

See also

PARCLASS_NEGOTIATION_MASK

IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_IEEE1284_NEGOTIATE