Freigeben über


SerCx2SaveReceiveFifoOnD0Exit-Funktion (sercx.h)

Die SerCx2SaveReceiveFifoOnD0Exit Methode informiert Version 2 der seriellen Framework-Erweiterung (SerCx2), dass der Empfang von FIFO der seriellen Controllerhardware Daten enthält, die gespeichert werden sollten, bevor der serielle Controller in einen Energiesparmodus des Geräts wechselt.

Syntax

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

Parameter

[in] PioReceive

Ein SERCX2PIORECEIVE Handle für ein PIO-Empfangsobjekt. Der serielle Controllertreiber hat zuvor den SerCx2PioReceiveCreate Methode aufgerufen, um dieses Objekt zu erstellen.

[in] FifoSize

Die Anzahl der Bytes von ungelesenen Daten, die das FIFO überträgt.

Rückgabewert

Nichts

Bemerkungen

Wenn der serielle Controller in den Zustand mit geringem Stromverbrauch wechselt, muss SerCx2 und der serielle Controllertreiber alle Bytes von ungelesenen Daten speichern, die möglicherweise im FIFO-Empfang verbleiben. Andernfalls gehen diese Daten verloren, wenn der serielle Controller in den Energiesparmodus wechselt. Um Unterstützung von SerCx2 zum Speichern dieser Daten anzufordern, ruft der Treiber SerCx2SaveReceiveFifoOnD0Exitauf.

Das Treiberframework ruft die EvtDeviceD0Exit oder EvtDeviceD0ExitPreInterruptsDisabled Ereignisrückruffunktion auf, um dem Treiber mitzuteilen, dass der serielle Controller den D0-Gerätezustand verlässt. Als Reaktion wird mit dieser Funktion zunächst die zum Senden (RTS)-Zeile entfernt, um dem Gerät am anderen Ende der seriellen Verbindung mitzuteilen, dass keine weiteren Daten gesendet werden. Als Nächstes ruft die Funktion SerCx2SaveReceiveFifoOnD0Exitauf.

SerCx2SaveReceiveFifoOnD0Exit ruft die EvtSerCx2PioReceiveReadBuffer Ereignisrückruffunktion auf, um die Daten aus dem empfangenen FIFO abzurufen. In diesem Aufruf stellt SerCx2 als Parameter einen Zeiger auf einen internen Softwarepuffer bereit, den SerCx2 zum Zwecke des Speicherns ungelesener Daten aus dem Empfangen-FIFO bei der Eingabe eines Energiesparzustands verwaltet.

Nachdem ein Client eine Leseanforderung (IRP_MJ_READ) an den seriellen Controller sendet, kopiert SerCx2 die Bytes aus diesem internen Softwarepuffer in den Lesepuffer in der Anforderung.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.1.
Zielplattform- Universal
Header- sercx.h
IRQL- PASSIVE_LEVEL

Siehe auch

EvtDeviceD0Exit

EvtDeviceD0ExitPreInterruptsDisabled

EvtSerCx2PioReceiveReadBuffer

IRP_MJ_READ

SERCX2PIORECEIVE

SerCx2PioReceiveCreate