функция обратного вызова PPARALLEL_TRY_ALLOCATE_ROUTINE (parallel.h)
Подпрограмма обратного вызова PPARALLEL_TRY_ALLOCATE_ROUTINE типа (ISR) пытается выделить параллельный порт в IRQL = DIRQL. Эта подпрограмма предоставляется системным драйвером-функцией для параллельных портов.
Синтаксис
PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;
BOOLEAN PparallelTryAllocateRoutine(
[in] PVOID TryAllocateContext
)
{...}
Параметры
[in] TryAllocateContext
Указатель на расширение устройства функционального объекта устройства, представляющего параллельный порт.
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Параллельный порт выделен. |
|
Параллельный порт не выделен. |
Комментарии
Драйвер в режиме ядра подключает подпрограмму службы прерываний с помощью IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT, которая возвращает PARALLEL_INTERRUPT_INFORMATION структуру. Эта структура включает элемент TryAllocatePortAtInterruptLevel , который является указателем на предоставляемый системой обратный вызов PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR).
Обратный вызов PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) не блокируется, не помещается в очередь запрос на выделение и возвращается немедленно.
Драйвер использует обратный вызов PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) вместе с предоставляемым драйвером ISR. Если драйвер не имеет параллельный порт, выделенный при вызове ISR драйвера, драйвер может использовать этот обратный вызов.
Дополнительные сведения о выделении параллельного порта в ISR см. в разделе Подключение подпрограммы службы прерываний к ParallelPort.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | parallel.h (включая Parallel.h) |
IRQL | DIRQL |
См. также раздел
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT