Partager via


Fonction SerCx2SaveReceiveFifoOnD0Exit (sercx.h)

La méthode SerCx2SaveReceiveFifoOnD0Exit informe la version 2 de l’extension d’infrastructure série (SerCx2) que la réception FIFO du matériel du contrôleur série contient des données qui doivent être enregistrées avant que le contrôleur série n’entre dans un état de faible consommation d’alimentation de l’appareil.

Syntaxe

void SerCx2SaveReceiveFifoOnD0Exit(
  [in] SERCX2PIORECEIVE PioReceive,
  [in] ULONG            FifoSize
);

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.

[in] FifoSize

Nombre d’octets de données non lues que contient le fichier FIFO de transmission.

Valeur de retour

None

Remarques

Lorsque le contrôleur série est sur le point d’entrer dans un état de faible consommation, SerCx2 et le pilote du contrôleur série doivent enregistrer tous les octets de données non lues qui peuvent rester dans le FIFO de réception. Dans le cas contraire, ces données seront perdues lorsque le contrôleur série entre dans l’état de faible consommation. Pour demander de l’aide auprès de SerCx2 pour enregistrer ces données, le pilote appelle SerCx2SaveReceiveFifoOnD0Exit.

L’infrastructure du pilote appelle la fonction de rappel d’événement EvtDeviceD0Exit ou EvtDeviceD0ExitPreInterruptsDisabled du pilote pour indiquer au pilote de préparer le contrôleur série à quitter l’état de l’appareil D0. En réponse, cette fonction confirme d’abord la ligne prêt à envoyer (RTS) pour indiquer à l’appareil à l’autre extrémité de la connexion série de ne plus envoyer de données. Ensuite, la fonction appelle SerCx2SaveReceiveFifoOnD0Exit.

SerCx2SaveReceiveFifoOnD0Exit appelle la fonction de rappel d’événement EvtSerCx2PioReceiveReadBuffer du pilote pour récupérer les données du FIFO de réception. Dans cet appel, SerCx2 fournit, en tant que paramètre, un pointeur vers une mémoire tampon logicielle interne que SerCx2 gère dans le but d’enregistrer les données non lues du FIFO de réception en vue d’entrer un état de faible consommation.

Plus tard, après qu’un client a envoyé une demande de lecture (IRP_MJ_READ) au contrôleur série, SerCx2 copie les octets de cette mémoire tampon logicielle interne vers la mémoire tampon de lecture dans la demande.

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 PASSIVE_LEVEL

Voir aussi

EvtDeviceD0Exit

EvtDeviceD0ExitPreInterruptsDisabled

EvtSerCx2PioReceiveReadBuffer

IRP_MJ_READ

SERCX2PIORECEIVE

SerCx2PioReceiveCreate