IOCTL_INTERNAL_SELECT_DEVICE IOCTL (parallel.h)

Запрос IOCTL_INTERNAL_SELECT_DEVICE :

  • Выделяет параллельный порт

    Предоставляемый системой драйвер функции для параллельных портов выделяет параллельный порт, если клиент не устанавливает флаг PAR_HAVE_PORT_KEEP_PORT в элементе CommandFlags структуры входных PARALLEL_1284_COMMAND. В противном случае драйвер функции параллельного порта не выделяет параллельный порт.

  • Выбирает параллельное устройство IEEE 1284.3 или устройство конца цепочки, подключенное к параллельному порту.

    Хотя клиент может выбрать устройство конца цепочки с помощью запроса на выбор устройства, корпорация Майкрософт рекомендует использовать запрос IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE . Драйвер функции параллельных портов выбирает устройство конца цепочки перед выделением параллельного порта клиенту.

Дополнительные сведения см. в разделе Выбор и отмена выбора устройства IEEE 1284, подключенного к ParallelPort.

Основной код

IRP_MJ_INTERNAL_DEVICE_CONTROL

Входной буфер

AssociatedIrp.SystemBuffer указывает на структуру PARALLEL_1284_COMMAND, которую клиент выделяет для ввода сведений о выбранном устройстве.

Длина входного буфера

Элемент Parameters.DeviceIoControl.InputBufferLength указывает размер структуры PARALLEL_1284_COMMAND в байтах.

Выходной буфер

Нет.

Длина выходного буфера

Нет.

Блок состояния

Элемент Information имеет нулевое значение.

Элементу Status присваивается одно из универсальных значений состояния, возвращаемых внутренними запросами управления устройствами для параллельных портов, или одно из следующих значений:

STATUS_BUFFER_TOO_SMALL

Значение элемента Parameters.DeviceIoControl.InputBufferLength меньше размера структуры PARALLEL_1284_COMMAND в байтах.

STATUS_INVALID_PARAMETER

Указанное устройство не помечается внутренне как устройство конца цепочки, а значение элемента идентификатора входной структуры больше, чем количество существующих устройств цепочки.

Требования

Требование Значение
Заголовок parallel.h (включая Parallel.h)

См. также раздел

PARALLEL_1284_COMMAND

IOCTL_INTERNAL_DESELECT_DEVICE