Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма обратного вызова с типизированным типом PPARALLEL_TRY_SELECT_ROUTINEвыбирает устройство цепочки цепочки IEEE 1284.3 или устройство цепочки IEEE 1284, подключенное к параллельному порту. Драйвер функции, предоставляемый системой для параллельных портов, предоставляет эту подпрограмму.
Синтаксис
PPARALLEL_TRY_SELECT_ROUTINE PparallelTrySelectRoutine;
NTSTATUS PparallelTrySelectRoutine(
[in] PVOID TrySelectContext,
[in] PVOID TrySelectCommand
)
{...}
Параметры
[in] TrySelectContext
Указатель на расширение устройства функционального объекта устройства порта (FDO).
[in] TrySelectCommand
Указатель на структуру PARALLEL_1284_COMMAND. Вызывающий объект задает следующие элементы:
ИДЕНТИФИКАТОР
Указывает идентификатор устройства 1284.3.
CommandFlags
Указывает битовую или более нулевых или более следующих флагов:
| Ценность | Описание |
|---|---|
| PAR_END_OF_CHAIN_DEVICE | Указывает сквозное устройство. |
| PAR_HAVE_PORT_KEEP_PORT | Указывает, что вызывающий объект выделяет порт и сохраняет выделенный порт. |
Возвращаемое значение
| Возвращаемый код | Описание |
|---|---|
|
Выбрано устройство. |
|
Недопустимый идентификатор устройства. |
|
Вызывающий объект не указал PAR_HAVE_PORT_KEEP_PORT, а параллельный порт уже выделен. |
|
Вызывающий объект выделил параллельный порт, но драйвер функции, предоставленный системой для параллельных портов, не мог выбрать указанное параллельное устройство. |
Замечания
Для получения указателя на обратный вызов, предоставленный системой PPARALLEL_TRY_SELECT_ROUTINE, драйвер режима ядра использует запрос IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO, который возвращает структуру PARALLEL_PNP_INFORMATION. Элемент TrySelectDevice структуры PARALLEL_PNP_INFORMATION является указателем на этот обратный вызов.
Драйвер режима ядра может использовать запрос IOCTL_INTERNAL_SELECT_DEVICE или обратный вызов PPARALLEL_TRY_SELECT_ROUTINE для выбора параллельного устройства на параллельном порту. Драйвер функции параллельного порта очереди запроса выбора, если параллельный порт уже выделен. Однако обратный вызов PPARALLEL_TRY_SELECT_ROUTINE не очереди запроса на выборку, и подпрограмма возвращается немедленно, если порт не может быть выделен.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Настольный |
| заголовка | parallel.h (include Parallel.h) |
| IRQL | <=DISPATCH_LEVEL |
См. также
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO