Skip to content

Latest commit

 

History

History
124 lines (80 loc) · 4.54 KB

ni-parallel-ioctl_internal_select_device.md

File metadata and controls

124 lines (80 loc) · 4.54 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NI:parallel.IOCTL_INTERNAL_SELECT_DEVICE
IOCTL_INTERNAL_SELECT_DEVICE (parallel.h)
The IOCTL_INTERNAL_SELECT_DEVICE request:Allocates the parallel portThe 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 portAlthough 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.
parports\ioctl_internal_select_device.htm
parports
02/15/2018
IOCTL_INTERNAL_SELECT_DEVICE IOCTL
IOCTL_INTERNAL_SELECT_DEVICE, IOCTL_INTERNAL_SELECT_DEVICE control code [Parallel Ports], cisspd_e884bf73-c8d2-4007-a01a-ba6af4fd8359.xml, parallel/IOCTL_INTERNAL_SELECT_DEVICE, parports.ioctl_internal_select_device
parallel.h
Parallel.h
Windows
Windows
RILGBATOKEN, *LPRILGBATOKEN
IOCTL_INTERNAL_SELECT_DEVICE
parallel/IOCTL_INTERNAL_SELECT_DEVICE
APIRef
kbSyntax
HeaderDef
parallel.h
IOCTL_INTERNAL_SELECT_DEVICE

IOCTL_INTERNAL_SELECT_DEVICE IOCTL

Major Code:

IRP_MJ_DEVICE_CONTROL

-description

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.

-ioctlparameters

-ioctl-major-code

IRP_MJ_INTERNAL_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.

-in-out-buffer

-inout-buffer-length

-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:

STATUS_BUFFER_TOO_SMALL

The value of the Parameters.DeviceIoControl.InputBufferLength member is less than the size, in bytes, of a PARALLEL_1284_COMMAND structure.

STATUS_INVALID_PARAMETER

The specified device is not flagged internally as an end-of-chain device and the value of the ID member of the input structure is greater than the number of existing daisy chain devices.

-see-also

PARALLEL_1284_COMMAND

IOCTL_INTERNAL_DESELECT_DEVICE