EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION fonction de rappel (sercx.h)

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

Syntaxe

EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION EvtSercx2PioReceiveCancelReadyNotification;

BOOLEAN EvtSercx2PioReceiveCancelReadyNotification(
  [in] SERCX2PIORECEIVE PioReceive
)
{...}

Paramètres

[in] PioReceive

Un handle SERCX2PIORECEIVE à un objet de réception PIO. Le pilote de contrôleur série a précédemment appelé la méthode SerCx2PioReceiveCreate pour créer cet objet.

Valeur retournée

La fonction EvtSerCx2PioReceiveCancelReadyNotification retourne TRUE si la notification prête a été désactivée et si le pilote du contrôleur série peut garantir que cette notification n’entraîne pas l’appel de la méthode SerCx2PioReceiveReady . La fonction retourne FALSE si le pilote a déjà appelé SerCx2PioReceiveReady ou 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 SerCx2PioReceiveCreate qui crée l’objet PIO-receive.

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

Pour annuler la notification prête, la fonction EvtSerCx2PioReceiveCancelReadyNotification désactive généralement l’interruption dans le contrôleur série qui indique que davantage de données sont disponibles pour être lues à partir du FIFO de réception. Cette interruption a été activée par un appel précédent à la fonction EvtSerCx2PioReceiveEnableReadyNotification .

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

Exemples

Pour définir une fonction de rappel EvtSerCx2PioReceiveCancelReadyNotification , 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 aide l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification à la recherche d’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 EvtSerCx2PioReceiveCancelReadyNotification nommée MyPioReceiveCancelReadyNotification, utilisez le type de fonction EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION , comme indiqué dans cet exemple de code :

EVT_SERCX2_PIO_RECEIVE_CANCEL_READY_NOTIFICATION  MyPioReceiveCancelReadyNotification;

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

_Use_decl_annotations_
BOOLEAN
  MyPioReceiveCancelReadyNotification(
    SERCX2PIORECEIVE  PioReceive
    )
  {...}

Le type de fonction EVT_SERCX2_PIO_RECEIVE_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_RECEIVE_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

EvtSerCx2PioReceiveEnableReadyNotification

SERCX2PIORECEIVE

SerCx2PioReceiveCreate

SerCx2PioReceiveReady