Partager via


EVT_SERCX2_PURGE_FIFOS fonction de rappel (sercx.h)

La fonction de rappel d’événements EvtSerCx2PurgeFifos est appelée par la version 2 de l’extension de framework série (SerCx2) pour vider les mémoires tampons FIFO dans le matériel du contrôleur série.

Syntaxe

EVT_SERCX2_PURGE_FIFOS EvtSercx2PurgeFifos;

void EvtSercx2PurgeFifos(
  [in] WDFDEVICE Device,
  [in] BOOLEAN PurgeRxFifo,
  [in] BOOLEAN PurgeTxFifo
)
{...}

Paramètres

[in] Device

Handle WDFDEVICE pour l’objet d’appareil framework qui représente le contrôleur série. Le pilote de contrôleur série a créé cet objet dans sa fonction de rappel EvtDriverDeviceAdd. Pour plus d’informations, consultez SerCx2InitializeDevice.

[in] PurgeRxFifo

Indique s’il faut vider le FIFO de réception. Si ce paramètre est défini sur TRUE, purgez le FIFO de réception. Si FALSE, ne videz pas le FIFO de réception.

[in] PurgeTxFifo

Indique s’il faut vider le FIFO de transmission. Si ce paramètre est défini sur TRUE, videz la transmission FIFO. Si FALSE, ne videz pas la transmission FIFO.

Valeur de retour

Aucun

Remarques

Votre pilote de contrôleur série doit implémenter cette fonction. Le pilote inscrit la fonction dans l’appel à la méthode SerCx2InitializeDevice qui termine l’initialisation de l’objet d’appareil framework pour le contrôleur série.

SerCx2 appelle la fonction EvtSerCx2PurgeFifos lorsqu’un client (pilote périphérique) envoie une demande de contrôle IOCTL_SERIAL_PURGE qui nécessite une ou les deux mémoires tampons FIFO dans le matériel du contrôleur série à vider. Si la demande de contrôle IOCTL_SERIAL_PURGE nécessite des requêtes de lecture ou d’écriture (IRP_MJ_READ ou IRP_MJ_WRITE) en attente d’annulation, SerCx2 annule ces requêtes avant d’appeler la fonction EvtSerCx2PurgeFifos.

SerCx2 appelle également la fonction EvtSerCx2PurgeFifos lorsqu’un client ouvre une connexion logique à l’appareil du contrôleur série et obtient un handle de fichier à cette connexion. Pour plus d’informations, consultez Framework File Objects.

Exemples

Pour définir une EvtSerCx2PurgeFifos fonction de rappel, 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 fonctions de rappel permet d'Analyse du code pour les pilotes, static Driver Verifier (SDV) et d’autres outils de vérification recherchent des erreurs, et il est nécessaire d’écrire des pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une fonction de rappel EvtSerCx2PurgeFifos nommée MyPurgeFifos, utilisez le type de fonction EVT_SERCX2_PURGE_FIFOS, comme illustré dans cet exemple de code :

EVT_SERCX2_PURGE_FIFOS  MyPurgeFifos;

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

_Use_decl_annotations_
VOID
  MyPurgeFifos(
    WDFDEVICE  Device,
    BOOLEAN PurgeRxFifo,
    BOOLEAN PurgeTxFifo
    )
  {...}

Le type de fonction EVT_SERCX2_PURGE_FIFOS est défini dans le fichier d’en-tête Sercx.h. Pour identifier plus précisément les erreurs lorsque vous exécutez les 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_PURGE_FIFOS 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 annoter le comportement de la fonction.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8.1.
plateforme cible Bureau
d’en-tête sercx.h
IRQL Appelé à PASSIVE_LEVEL.

Voir aussi

IOCTL_SERIAL_PURGE

SerCx2InitializeDevice