Condividi tramite


PPARALLEL_TRY_ALLOCATE_ROUTINE funzione di callback (parallel.h)

La routine di callback PPARALLEL_TRY_ALLOCATE_ROUTINE tipizzata (ISR) tenta di allocare una porta parallela in IRQL = DIRQL. Il driver di funzione fornito dal sistema per le porte parallele fornisce questa routine.

Sintassi

PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;

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

Parametri

[in] TryAllocateContext

Puntatore all'estensione del dispositivo di un oggetto dispositivo funzionale che rappresenta una porta parallela.

Valore restituito

Codice restituito Descrizione
TRUE
La porta parallela è stata allocata.
FALSE
La porta parallela non è stata allocata.

Commenti

Un driver in modalità kernel connette una routine del servizio di interrupt usando un IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT, che restituisce una struttura PARALLEL_INTERRUPT_INFORMATION . Questa struttura include il membro TryAllocatePortAtInterruptLevel , che è un puntatore al callback del PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) fornito dal sistema.

Il callback PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) non blocca, non accoda una richiesta di allocazione e restituisce immediatamente.

Un driver usa il callback PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) insieme a un ISR fornito dal driver. Se il driver non dispone di una porta parallela allocata quando viene chiamato l'ISR del driver, il driver può usare questo callback.

Per altre informazioni sull'allocazione di una porta parallela in un ISR, vedere Connessione di una routine del servizio interrupt a un parallelPort.

Nota Il callback di PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) non è sottoposto a test. Microsoft non consiglia l'uso di una routine di interrupt fornita dal client. L'uso di interrupt può causare instabilità del sistema. Per impostazione predefinita, la richiesta di IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT è disabilitata.
 

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione parallel.h (include Parallel.h)
IRQL DIRQL

Vedi anche

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