Partager via


EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION fonction de rappel (sercx.h)

La fonction de rappel d’événement EvtSerCx2PioTransmitCancelReadyNotification est appelée par la version 2 de l’extension d’infrastructure série (SerCx2) pour annuler une notification prête que SerCx2 activé dans un appel précédent à la fonction de rappel d’événement EvtSerCx2PioTransmitEnableReadyNotification .

Syntaxe

EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION EvtSercx2PioTransmitCancelReadyNotification;

BOOLEAN EvtSercx2PioTransmitCancelReadyNotification(
  [in] SERCX2PIOTRANSMIT PioTransmit
)
{...}

Paramètres

[in] PioTransmit

Handle SERCX2PIOTRANSMIT à un objet de transmission PIO. Le pilote du contrôleur série a précédemment appelé la méthode SerCx2PioTransmitCreate pour créer cet objet.

Valeur retournée

La fonction EvtSerCx2PioTransmitCancelReadyNotification retourne TRUE si la notification prête a été correctement désactivée et que le pilote de contrôleur série peut garantir que cette notification n’entraîne pas l’appel de la méthode SerCx2PioTransmitReady .

La fonction retourne FALSE si le pilote a déjà appelé SerCx2PioTransmitReady ou s’il est sur le point d’appeler cette méthode.

Remarques

Votre pilote de contrôleur série doit implémenter cette fonction. Le pilote inscrit la fonction dans l’appel SerCx2PioTransmitCreate qui crée l’objet de transmission PIO.

Si la demande d’écriture associée expire ou est annulée alors qu’une notification prête est activée, SerCx2 appelle la fonction EvtSerCx2PioTransmitCancelReadyNotification pour annuler la notification en attente. Si cet appel retourne FALSE, SerCx2 s’attend à ce que le pilote du contrôleur série appelle SerCx2PioTransmitReady ; C’est seulement après cet appel que SerCx2 appelle la fonction de rappel d’événement EvtSerCx2PioTransmitCleanupTransaction , si elle est implémentée, et termine la demande.

Pour annuler une notification prête précédemment activée, la fonction EvtSerCx2PioTransmitCancelReadyNotification désactive généralement l’interruption dans le contrôleur série qui indique que le FIFO de transmission est prêt à accepter davantage de données. SerCx2 a activé cette interruption dans un appel précédent à la fonction EvtSerCx2PioTransmitEnableReadyNotification .

Pour plus d’informations, consultez Transactions PIO-Transmit SerCx2.

Exemples

Pour définir une fonction de rappel EvtSerCx2PioTransmitCancelReadyNotification , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction de rappel que vous définissez. Windows fournit un ensemble de types de fonctions de rappel pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction de rappel permet à l’analyse du code pour les pilotes, au vérificateur de pilotes statiques (SDV) et à d’autres outils de vérification de trouver des erreurs. Il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une fonction de rappel EvtSerCx2PioTransmitCancelReadyNotification nommée MyPioTransmitCancelReadyNotification, utilisez le type de fonction EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION , comme indiqué dans cet exemple de code :

EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION  MyPioTransmitCancelReadyNotification;

Ensuite, implémentez votre fonction de rappel comme suit :

_Use_decl_annotations_
BOOLEAN
  MyPioTransmitCancelReadyNotification(
    SERCX2PIOTRANSMIT  PioTransmit
    )
  {...}

Le type de fonction EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION est défini dans le fichier d’en-tête Sercx.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction EVT_SERCX2_PIO_TRANSMIT_CANCEL_READY_NOTIFICATION dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes KMDF. Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.1.
Plateforme cible Desktop (Expérience utilisateur)
En-tête sercx.h
IRQL Appelé à IRQL <= DISPATCH_LEVEL.

Voir aussi

EvtSerCx2PioTransmitEnableReadyNotification

SERCX2PIOTRANSMIT

SerCx2PioTransmitCreate

SerCx2PioTransmitReady