PPARALLEL_TRY_ALLOCATE_ROUTINE Rückruffunktion (parallel.h)

Die PPARALLEL_TRY_ALLOCATE_ROUTINE typisierte Rückrufroutine (ISR) versucht, einen parallelen Port unter IRQL = DIRQL zuzuweisen. Der vom System bereitgestellte Funktionstreiber für parallele Ports stellt diese Routine bereit.

Syntax

PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;

BOOLEAN PparallelTryAllocateRoutine(
  [in] PVOID TryAllocateContext
)
{...}

Parameter

[in] TryAllocateContext

Zeiger auf die Geräteerweiterung eines funktionalen Geräteobjekts, das einen parallelen Port darstellt.

Rückgabewert

Rückgabecode Beschreibung
TRUE
Der parallele Port wurde zugeordnet.
FALSE
Der parallele Port wurde nicht zugeordnet.

Hinweise

Ein Kernelmodustreiber verbindet eine Interruptdienstroutine mithilfe einer IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT, die eine PARALLEL_INTERRUPT_INFORMATION-Struktur zurückgibt. Diese Struktur enthält den TryAllocatePortAtInterruptLevel-Member , der ein Zeiger auf den vom System bereitgestellten PPARALLEL_TRY_ALLOCATE_ROUTINE -Rückruf (ISR) ist.

Der PPARALLEL_TRY_ALLOCATE_ROUTINE-Rückruf (ISR) ist nicht blockiert, stellt keine Zuordnungsanforderung in die Warteschlange und gibt sofort zurück.

Ein Treiber verwendet den PPARALLEL_TRY_ALLOCATE_ROUTINE -Rückruf (ISR) in Verbindung mit einer vom Treiber bereitgestellten ISR. Wenn dem Treiber kein paralleler Port zugewiesen ist, wenn die ISR des Treibers aufgerufen wird, kann der Treiber diesen Rückruf verwenden.

Weitere Informationen zum Zuweisen eines parallelen Ports in einer ISR finden Sie unter Verbinden einer Interruptdienstroutine mit einem ParallelPort.

Hinweis Der rückruf von PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) ist nicht getestet. Microsoft empfiehlt die Verwendung einer vom Client bereitgestellten Interruptroutine nicht. Die Verwendung von Interrupts kann zu Systeminstabilität führen. Standardmäßig ist die IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT-Anforderung deaktiviert.
 

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile parallel.h (schließen Sie Parallel.h ein)
IRQL DIRQL

Weitere Informationen

IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT

IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO

IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE

IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT

IOCTL_INTERNAL_PARALLEL_PORT_FREE

PPARALLEL_FREE_ROUTINE (ISR)

PARALLEL_INTERRUPT_INFORMATION