IOCTL_INTERNAL_SELECT_DEVICE IOCTL

The IOCTL_INTERNAL_SELECT_DEVICE request:

  • Allocates the parallel port The system-supplied function driver for parallel ports allocates the parallel port if the client does not set the PAR_HAVE_PORT_KEEP_PORT flag in the CommandFlags member of the input PARALLEL_1284_COMMAND structure. Otherwise, the parallel port function driver does not allocate the parallel port.
  • Selects an IEEE 1284.3 daisy chain parallel device or an end-of-chain device attached to the parallel port Although a client can select an end-of-chain device using a select device request, Microsoft recommends using an IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE request instead. The parallel port function driver selects the end-of-chain device before it allocates the parallel port to a client.

For more information, see Selecting and Deselecting an IEEE 1284 Device Attached to a ParallelPort.

Major Code

IRP_MJ_DEVICE_CONTROL

Input Buffer

The AssociatedIrp.SystemBuffer points to a PARALLEL_1284_COMMAND structure that the client allocates to input the select device information.

Input Buffer Length

The Parameters.DeviceIoControl.InputBufferLength member specifies the size, in bytes, of a PARALLEL_1284_COMMAND structure.

Output Buffer

None.

Output Buffer Length

None.

Status Block

The Information member is set to zero.

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

Requirements

   
Header parallel.h (include Parallel.h)

See Also

PARALLEL_1284_COMMAND

IOCTL_INTERNAL_DESELECT_DEVICE