Partager via


PPARALLEL_TRY_ALLOCATE_ROUTINE fonction de rappel (parallel.h)

La routine de rappel PPARALLEL_TRY_ALLOCATE_ROUTINE-typée (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 de retour

Retourner le code 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 PARALLEL_INTERRUPT_INFORMATION. Cette structure inclut le membre TryAllocatePortAtInterruptLevel, qui est un pointeur vers le rappel PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) fourni par le système.

Le rappel PPARALLEL_TRY_ALLOCATE_ROUTINE (ISR) n’est pas bloqué, 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é lorsque l’ISR du pilote est appelé, le pilote 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 à unParallelPort .

Remarque 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.
 

Exigences

Exigence Valeur
plateforme cible Bureau
d’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