Partager via


PPARALLEL_TRY_ALLOCATE_ROUTINE fonction de rappel (parallel.h)

La routine de rappel de type PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) tente d’allouer un port parallèle à IRQL = DIRQL. Le pilote de fonction fourni par le système pour les ports parallèles fournit cette routine.

Syntaxe

PPARALLEL_TRY_ALLOCATE_ROUTINE PparallelTryAllocateRoutine;

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

Paramètres

[in] TryAllocateContext

Pointeur vers l’extension d’appareil d’un objet d’appareil fonctionnel qui représente un port parallèle.

Valeur retournée

Code de retour Description
TRUE
Le port parallèle a été alloué.
FALSE
Le port parallèle n’a pas été alloué.

Remarques

Un pilote en mode noyau connecte une routine de service d’interruption à l’aide d’un IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT, qui retourne une structure de PARALLEL_INTERRUPT_INFORMATION . Cette structure inclut le membre TryAllocatePortAtInterruptLevel , qui est un pointeur vers le rappel de PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) fourni par le système.

Le rappel PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) n’est pas bloquant, ne met pas en file d’attente une demande d’allocation et retourne immédiatement.

Un pilote utilise le rappel PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) conjointement avec un ISR fourni par le pilote. Si le pilote n’a pas de port parallèle alloué lors de l’appel de l’ISR du pilote, il peut utiliser ce rappel.

Pour plus d’informations sur l’allocation d’un port parallèle dans un ISR, consultez Connexion d’une routine de service d’interruption à un ParallelPort.

Note Le rappel PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) n’est pas testé. Microsoft ne recommande pas d’utiliser une routine d’interruption fournie par le client. L’utilisation d’interruptions peut entraîner une instabilité du système. Par défaut, la requête IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT est désactivée.
 

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête parallel.h (include Parallel.h)
IRQL DIRQL

Voir aussi

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