Параллельные порты

Для разработки драйверов для параллельных портов вам потребуются следующие заголовки:

Руководство по программированию см. в разделе Параллельные порты.

Коды элементов управления ввода-вывода

Титул Описание
IOCTL_IEEE1284_GET_MODE IOCTL Запрос IOCTL_IEEE1284_GET_MODE возвращает протоколы чтения и записи IEEE 1284, которые в настоящее время задаются для параллельного устройства.
IOCTL_IEEE1284_NEGOTIATE IOCTL Запрос IOCTL_IEEE1284_NEGOTIATE задает протоколы чтения и записи, используемые для параллельного устройства.
IOCTL_INTERNAL_DESELECT_DEVICE IOCTL Запрос IOCTL_INTERNAL_DESELECT_DEVICE отменяет выбор устройства ieee 1284.3 daisy-chain или устройства IEEE 1284, подключенного к параллельному порту.
IOCTL IOCTL_INTERNAL_DISCONNECT_IDLE Запрос IOCTL_INTERNAL_DISCONNECT_IDLE отключает режимы работы IEEE 1284, установленные для параллельного устройства.
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO IOCTL Запрос IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO возвращает сведения о параллельном порту.
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO IOCTL Запрос IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO возвращает сведения о параллельном порту Plug and Play.
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO IOCTL Запрос IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO возвращает сведения о параллельном порту.
IOCTL_INTERNAL_INIT_1284_3_BUS IOCTL Запрос IOCTL_INTERNAL_INIT_1284_3_BUS инициализирует и назначает идентификатор устройства IEEE 1284.3 всем устройствам управляющей цепочки 1284.3, подключенным к параллельному порту.
IOCTL_INTERNAL_LOCK_PORT IOCTL Запрос IOCTL_INTERNAL_LOCK_PORT выделяет родительский порт родительского устройства и выбирает параллельное устройство на порту.
IOCTL_INTERNAL_LOCK_PORT_NO_SELECT IOCTL Запрос IOCTL_INTERNAL_LOCK_PORT_NO_SELECT выделяет родительский порт родительского устройства, но не выбирает параллельное устройство.
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE IOCTL Запрос IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE очищает рабочий режим параллельного порта.
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT IOCTL Запрос IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT подключает необязательную подпрограмму службы прерываний и необязательную отложенную процедуру проверки портов к параллельному порту.
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT IOCTL Запрос IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT отключает подпрограмму службы прерываний (и необязательную подпрограмму отложенной проверки портов), которая была подключена с помощью запроса IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT.
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE IOCTL Запрос IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE выделяет параллельный порт для эксклюзивного доступа клиента.
IOCTL_INTERNAL_PARALLEL_PORT_FREE IOCTL Запрос IOCTL_INTERNAL_PARALLEL_PORT_FREE освобождает параллельный порт.
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE IOCTL Запрос IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE задает режим работы параллельного порта.
IOCTL_INTERNAL_PARCLASS_CONNECT IOCTL Запрос IOCTL_INTERNAL_PARCLASS_CONNECT возвращает сведения о параллельном порту и подпрограммах обратного вызова, предоставляемых драйвером шины системы для параллельных портов, которые предоставляются для работы параллельного порта.
IOCTL_INTERNAL_PARCLASS_DISCONNECT IOCTL Запрос IOCTL_INTERNAL_PARCLASS_DISCONNECT отключает клиента от параллельного устройства.
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO IOCTL Запрос IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO возвращает STATUS_SUCCESS.
IOCTL_INTERNAL_SELECT_DEVICE IOCTL Запрос IOCTL_INTERNAL_SELECT_DEVICE
IOCTL_INTERNAL_UNLOCK_PORT IOCTL Запрос IOCTL_INTERNAL_UNLOCK_PORT отменяет выбор параллельного устройства и освобождает родительский порт параллельного устройства.
IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT IOCTL Запрос IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT освобождает родительский порт родительского устройства.
IOCTL IOCTL_PAR_GET_DEFAULT_MODES Запрос IOCTL_PAR_GET_DEFAULT_MODES возвращает протоколы ieee 1284 по умолчанию для записи (пересылки) и чтения (обратного) протокола IEEE 1284, которые использует драйвер шины системы для параллельных портов.
IOCTL_PAR_GET_DEVICE_CAPS IOCTL Запрос IOCTL_PAR_GET_DEVICE_CAPS выполняет следующие действия.
IOCTL_PAR_IS_PORT_FREE IOCTL Запрос IOCTL_PAR_IS_PORT_FREE определяет, является ли родительский порт родительского устройства бесплатным в то время, когда драйвер шины, предоставленный системой, для параллельных портов обрабатывает запрос.
IOCTL IOCTL_PAR_QUERY_DEVICE_ID Запрос IOCTL_PAR_QUERY_DEVICE_ID возвращает идентификатор устройства IEEE 1284 параллельного устройства, назначенного системным драйвером функции для параллельных портов.
IOCTL IOCTL_PAR_QUERY_DEVICE_ID_SIZE Запрос IOCTL_PAR_QUERY_DEVICE_ID_SIZE возвращает размер в байтах буфера, который может содержать идентификатор устройства IEEE 1284 и конечный элемент NULL.
IOCTL_PAR_QUERY_INFORMATION IOCTL Запрос IOCTL_PAR_QUERY_INFORMATION возвращает состояние устройства ieee 1284 конца цепочки.
IOCTL_PAR_QUERY_LOCATION IOCTL Запрос IOCTL_PAR_QUERY_LOCATION возвращает имя символьной ссылки LPTn или LPTn.m, связанное с параллельным устройством.
IOCTL_PAR_QUERY_RAW_DEVICE_ID IOCTL Запрос IOCTL_PAR_QUERY_RAW_DEVICE_ID возвращает необработанный идентификатор устройства, который включает в себя следующее.
IOCTL_PAR_SET_INFORMATION IOCTL Запрос IOCTL_PAR_SET_INFORMATION сбрасывает и инициализирует параллельное устройство.
IOCTL_PAR_SET_READ_ADDRESS IOCTL Запрос IOCTL_PAR_SET_READ_ADDRESS задает расширенные возможности порта (ECP) или расширенный параллельный порт чтения (канал) для параллельного устройства.
IOCTL_PAR_SET_WRITE_ADDRESS IOCTL Запрос IOCTL_PAR_SET_WRITE_ADDRESS задает расширенные возможности порта (ECP) или расширенный параллельный порт записи (канал) для параллельного устройства. Параллельный драйвер шины портов помещает этот запрос в рабочую очередь для параллельного устройства.

IoCTLs

 
IOCTL_IEEE1284_GET_MODE

Запрос IOCTL_IEEE1284_GET_MODE возвращает протоколы чтения и записи IEEE 1284, которые в настоящее время задаются для параллельного устройства.
IOCTL_IEEE1284_NEGOTIATE

Запрос IOCTL_IEEE1284_NEGOTIATE задает протоколы чтения и записи, используемые для параллельного устройства.
IOCTL_INTERNAL_DESELECT_DEVICE

Запрос IOCTL_INTERNAL_DESELECT_DEVICE отменяет выбор устройства ieee 1284.3 daisy-chain или устройства IEEE 1284, подключенного к параллельному порту.
IOCTL_INTERNAL_DISCONNECT_IDLE

Запрос IOCTL_INTERNAL_DISCONNECT_IDLE отключает режимы работы IEEE 1284, установленные для параллельного устройства.
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO

Запрос IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO возвращает сведения о параллельном порту.
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO

Запрос IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO возвращает сведения о параллельном порту Plug and Play.
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

Запрос IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO возвращает сведения о параллельном порту.
IOCTL_INTERNAL_INIT_1284_3_BUS

Запрос IOCTL_INTERNAL_INIT_1284_3_BUS инициализирует и назначает идентификатор устройства IEEE 1284.3 всем устройствам управляющей цепочки 1284.3, подключенным к параллельному порту.
IOCTL_INTERNAL_LOCK_PORT

Запрос IOCTL_INTERNAL_LOCK_PORT выделяет родительский порт родительского устройства и выбирает параллельное устройство на порту.
IOCTL_INTERNAL_LOCK_PORT_NO_SELECT

Запрос IOCTL_INTERNAL_LOCK_PORT_NO_SELECT выделяет родительский порт родительского устройства, но не выбирает параллельное устройство.
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE

Запрос IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE очищает рабочий режим параллельного порта.
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT

Запрос IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT подключает необязательную подпрограмму службы прерываний и необязательную отложенную процедуру проверки портов к параллельному порту.
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

Запрос IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT отключает подпрограмму службы прерываний (и необязательную подпрограмму отложенной проверки портов), которая была подключена с помощью запроса IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT.
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE

Запрос IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE выделяет параллельный порт для эксклюзивного доступа клиента.
IOCTL_INTERNAL_PARALLEL_PORT_FREE

Запрос IOCTL_INTERNAL_PARALLEL_PORT_FREE освобождает параллельный порт.
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE

Запрос IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE задает режим работы параллельного порта.
IOCTL_INTERNAL_PARCLASS_CONNECT

Запрос IOCTL_INTERNAL_PARCLASS_CONNECT возвращает сведения о параллельном порту и подпрограммах обратного вызова, предоставляемых драйвером шины системы для параллельных портов, которые предоставляются для работы параллельного порта.
IOCTL_INTERNAL_PARCLASS_DISCONNECT

Запрос IOCTL_INTERNAL_PARCLASS_DISCONNECT отключает клиента от параллельного устройства.
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO

Запрос IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO возвращает STATUS_SUCCESS.
IOCTL_INTERNAL_SELECT_DEVICE

Запрос IOCTL_INTERNAL_SELECT_DEVICE:Выделяет драйвер функции, предоставленный системой параллельный порт, для параллельных портов выделяет параллельный порт, если клиент не задает флаг PAR_HAVE_PORT_KEEP_PORT в элементе CommandFlags входной PARALLEL_1284_COMMAND структуры. В противном случае драйвер функции параллельного порта не выделяет параллельный порт. Выбирает параллельное устройство сети IEEE 1284.3 или устройство, подключенное к параллельному портуAlthough, может выбрать устройство конца цепочки с помощью запроса на выбор устройства, корпорация Майкрософт рекомендует использовать вместо него запрос IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE. Драйвер функции параллельного порта выбирает устройство конца цепочки перед выделением параллельного порта клиенту.
IOCTL_INTERNAL_UNLOCK_PORT

Запрос IOCTL_INTERNAL_UNLOCK_PORT отменяет выбор параллельного устройства и освобождает родительский порт параллельного устройства.
IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT

Запрос IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT освобождает родительский порт родительского устройства.
IOCTL_PAR_GET_DEFAULT_MODES

Запрос IOCTL_PAR_GET_DEFAULT_MODES возвращает протоколы ieee 1284 по умолчанию для записи (пересылки) и чтения (обратного) протокола IEEE 1284, которые использует драйвер шины системы для параллельных портов.
IOCTL_PAR_GET_DEVICE_CAPS

Запрос IOCTL_PAR_GET_DEVICE_CAPS выполняет следующее. Указывает протоколы, которые драйвер шины, предоставленный системой, для параллельных портов не должен использовать с параллельным устройствомReturns операционные протоколы, поддерживаемые параллельным устройством, см. в разделе "Настройка и очистка режима связи для параллельного устройства".
IOCTL_PAR_IS_PORT_FREE

Запрос IOCTL_PAR_IS_PORT_FREE определяет, является ли родительский порт родительского устройства бесплатным в то время, когда драйвер шины, предоставленный системой, для параллельных портов обрабатывает запрос.
IOCTL_PAR_QUERY_DEVICE_ID

Запрос IOCTL_PAR_QUERY_DEVICE_ID возвращает идентификатор устройства IEEE 1284 параллельного устройства, назначенного системным драйвером функции для параллельных портов.
IOCTL_PAR_QUERY_DEVICE_ID_SIZE

Запрос IOCTL_PAR_QUERY_DEVICE_ID_SIZE возвращает размер в байтах буфера, который может содержать идентификатор устройства IEEE 1284 и конечный элемент NULL.
IOCTL_PAR_QUERY_INFORMATION

Запрос IOCTL_PAR_QUERY_INFORMATION возвращает состояние устройства ieee 1284 конца цепочки.
IOCTL_PAR_QUERY_LOCATION

Запрос IOCTL_PAR_QUERY_LOCATION возвращает имя символьной ссылки LPTn или LPTn.m, связанное с параллельным устройством.
IOCTL_PAR_QUERY_RAW_DEVICE_ID

Запрос IOCTL_PAR_QUERY_RAW_DEVICE_ID возвращает необработанный идентификатор устройства, который включает следующий:_a двухбайтовый префикс, указывающий размер устройства в байтах идентификатора устройства IEEE 1284; идентификатор устройства IEEE 1284; и терминатор NULL.
IOCTL_PAR_SET_INFORMATION

Запрос IOCTL_PAR_SET_INFORMATION сбрасывает и инициализирует параллельное устройство.
IOCTL_PAR_SET_READ_ADDRESS

Запрос IOCTL_PAR_SET_READ_ADDRESS задает расширенные возможности порта (ECP) или расширенный параллельный порт чтения (канал) для параллельного устройства.
IOCTL_PAR_SET_WRITE_ADDRESS

Запрос IOCTL_PAR_SET_WRITE_ADDRESS задает расширенные возможности порта (ECP) или расширенный параллельный порт записи (канал) для параллельного устройства. Параллельный драйвер шины портов помещает этот запрос в рабочую очередь для параллельного устройства.

Функции

 
PDETERMINE_IEEE_MODES

Подпрограмма обратного вызова PDETERMINE_IEEE_MODES типа определяет, какие протоколы IEEE 1284 поддерживают параллельное устройство. Драйвер шины, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PNEGOTIATE_IEEE_MODE

PNEGOTIATE_IEEE_MODE

Подпрограмма обратного вызова с PNEGOTIATE_IEEE_MODE типа выбирает самые быстрые и обратные протоколы, поддерживаемые системой драйвер шины для параллельных портов, поддерживаемых среди указанных вызывающим лицом.
PPARALLEL_CLEAR_CHIP_MODE

Подпрограмма обратного вызова PPARALLEL_CLEAR_CHIP_MODE типа очищает рабочий режим параллельного порта путем сброса режима связи набора микросхем узла в режим совместимости IEEE 1284.
PPARALLEL_DESELECT_ROUTINE

Подпрограмма обратного вызова PPARALLEL_DESELECT_ROUTINE типа отменяет выбор устройства цепочки IEEE 1284.3 или устройства цепочки IEEE 1284, присоединенного к параллельному порту.
PPARALLEL_FREE_ROUTINE

Подпрограмма обратного вызова PPARALLEL_FREE_ROUTINE типа освобождает параллельный порт. Драйвер функции, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PPARALLEL_IEEE_FWD_TO_REV

Подпрограмма обратного вызова с PPARALLEL_IEEE_FWD_TO_REV типа изменяет режим передачи с переадресации на обратный. Драйвер шины, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PPARALLEL_IEEE_REV_TO_FWD

Подпрограмма обратного вызова PPARALLEL_IEEE_REV_TO_FWD типа изменяет режим передачи с обратного на перенаправление. Драйвер шины, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PPARALLEL_QUERY_WAITERS_ROUTINE

Подпрограмма обратного вызова PPARALLEL_QUERY_WAITERS_ROUTINE типа возвращает количество IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE и IOCTL_INTERNAL_SELECT_DEVICE запросов, которые помещаются в рабочую очередь параллельного порта.
PPARALLEL_READ

Подпрограмма обратного вызова PPARALLEL_READ типа считывает данные с параллельного устройства. Драйвер шины, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PPARALLEL_SET_CHIP_MODE

Подпрограмма обратного вызова PPARALLEL_SET_CHIP_MODE типа задает рабочий режим параллельного порта. Драйвер функции, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PPARALLEL_TRY_ALLOCATE_ROUTINE

Подпрограмма обратного вызова PPARALLEL_TRY_ALLOCATE_ROUTINE типа (ISR) пытается выделить параллельный порт в IRQL = DIRQL. Драйвер функции, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PPARALLEL_TRY_SELECT_ROUTINE

Подпрограмма обратного вызова PPARALLEL_TRY_SELECT_ROUTINE типа выбирает устройство цепочки цепочки IEEE 1284.3 или устройство цепочки 1284 IEEE 1284, подключенное к параллельному порту. Драйвер функции, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PPARALLEL_WRITE

Подпрограмма обратного вызова PPARALLEL_WRITE типа записывает данные на параллельное устройство. Драйвер шины, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
PTERMINATE_IEEE_MODE

Подпрограмма обратного вызова с типом PTERMINATE_IEEE_MODE завершает текущий рабочий режим IEEE и задает режим, совместимый с IEEE 1284. Драйвер шины, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.

Структуры

 
MORE_PARALLEL_PORT_INFORMATION

Структура MORE_PARALLEL_PORT_INFORMATION указывает сведения о системном интерфейсе, поддерживающем операцию параллельного порта.
PAR_DEVICE_ID_SIZE_INFORMATION

Структура PAR_DEVICE_ID_SIZE_INFORMATION указывает размер буфера в байтах, который может содержать идентификатор устройства IEEE 1284 параллельного устройства и конца NULL.
PAR_QUERY_INFORMATION

Структура PAR_QUERY_INFORMATION указывает состояние работы параллельного порта.
PAR_SET_INFORMATION

Структура PAR_SET_INFORMATION указывает начальное состояние операционной системы параллельного порта.
PARALLEL_1284_COMMAND

Структура PARALLEL_1284_COMMAND указывает сведения о том, что клиент использует для выбора и отмены выбора устройства цепочки IEEE 1284.3 или устройства конца цепочки IEEE 1284.
PARALLEL_CHIP_MODE

Структура PARALLEL_CHIP_MODE указывает режим работы параллельного порта.
PARALLEL_INTERRUPT_INFORMATION

Структура PARALLEL_INTERRUPT_INFORMATION указывает сведения о том, что драйвер в режиме ядра может использовать в контексте ISR, который драйвер подключается к параллельному порту.
PARALLEL_INTERRUPT_SERVICE_ROUTINE

Структура PARALLEL_INTERRUPT_SERVICE_ROUTINE указывает службы прерываний, которые драйвер режима ядра может подключаться к операции параллельного порта.
PARALLEL_PNP_INFORMATION

Структура PARALLEL_PNP_INFORMATION указывает сведения о возможностях параллельного порта.
PARALLEL_PORT_INFORMATION

Структура PARALLEL_PORT_INFORMATION указывает сведения о ресурсах, назначенных параллельному порту, возможностям параллельного порта и указателям на подпрограммы обратного вызова, которые драйвер режима ядра может использовать для работы параллельного порта.
PARCLASS_INFORMATION

Структура PARCLASS_INFORMATION указывает сведения о параллельном порту, указателях на процедуры обратного вызова для работы параллельного порта и указателей на процедуры обратного вызова для чтения и записи на параллельное устройство.
PARCLASS_NEGOTIATION_MASK

Структура PARCLASS_NEGOTIATION_MASK указывает протоколы чтения и записи, которые драйвер выбирает для параллельного устройства.