Partager via


SerCx2SystemDmaTransmitPurgeFifoComplete, fonction (sercx.h)

La méthode SerCx2SystemDmaTransmitPurgeFifoComplete notifie la version 2 de l’extension d’infrastructure série (SerCx2) que le pilote du contrôleur série a terminé de vider les données du FIFO de transmission dans le matériel du contrôleur série.

Syntaxe

void SerCx2SystemDmaTransmitPurgeFifoComplete(
  [in] SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit,
  [in] ULONG                   BytesPurged
);

Paramètres

[in] SystemDmaTransmit

Handle SERCX2SYSTEMDMATRANSMIT à un objet de transmission DMA système. Le pilote de contrôleur série a précédemment appelé la méthode SerCx2SystemDmaTransmitCreate pour créer cet objet.

[in] BytesPurged

Nombre d’octets de données non transmises que le pilote du contrôleur série a vidées du fiFO de transmission.

Valeur de retour

None

Remarques

SerCx2 appelle la fonction de rappel d’événement EvtSerCx2SystemDmaTransmitPurgeFifo , si elle est implémentée, pour indiquer au pilote du contrôleur série d’arrêter la transaction de transmission système-DMA actuelle. SerCx2 a précédemment lancé cette transaction en réponse à une demande d’écriture (IRP_MJ_WRITE) d’un client. Par exemple, SerCx2 peut appeler cette fonction si le client annule la demande d’écriture en attente ou si la demande d’écriture expire. Pour plus d’informations, consultez Gestion SerCx2 des demandes de lecture et d’écriture.

En réponse à l’appel EvtSerCx2SystemDmaTransmitPurgeFifo , le pilote arrête le transfert des données de la mémoire tampon d’écriture vers le FIFO de transmission et ignore toutes les données précédemment transférées qui restent dans le FICHIER FIFO de transmission. Une fois le vidage terminé, le pilote du contrôleur série doit appeler SerCx2SystemDmaTransmitPurgeFifoComplete pour notifier SerCx2. SerCx2 attend cette notification et ne termine pas la demande d’écriture tant qu’elle n’est pas avertie.

Le pilote du contrôleur série doit appeler SerCx2SystemDmaTransmitPurgeFifoComplete uniquement en réponse à un appel à la fonction EvtSerCx2SystemDmaTransmitPurgeFifo .

SerCx2 utilise la valeur du paramètre BytesPurged pour déterminer le nombre d’octets qui ont été correctement transmis avant le vidage du FIFO de transmission. SerCx2 nécessite ces informations pour effectuer une demande d’écriture qui expire ou une demande d’écriture annulée après la transmission d’un ou de plusieurs octets.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.1.
Plateforme cible Universal
En-tête sercx.h
IRQL <= DISPATCH_LEVEL

Voir aussi

EvtSerCx2SystemDmaTransmitPurgeFifo

IRP_MJ_WRITE

SERCX2SYSTEMDMATRANSMIT

SERIAL_TIMEOUTS

SerCx2SystemDmaTransmitCreate