Freigeben über


SerCxProgressReceive-Funktion (sercx.h)

Die SerCxProgressReceive Methode meldet den Fortschritt des aktuellen Lesevorgangs (Empfangsvorgang).

Syntax

NTSTATUS SerCxProgressReceive(
  [in] WDFDEVICE    Device,
  [in] ULONG        BytesReceived,
  [in] SERCX_STATUS ReceiveStatus
);

Parameter

[in] Device

Ein WDFDEVICE-Handle für das Framework-Geräteobjekt, das den seriellen Controller darstellt.

[in] BytesReceived

Die Anzahl der Daten, die der Aufrufer in den Empfangspuffer geladen hat, der vom letzten Aufruf der SerCxRetrieveReceiveBuffer-Methode abgerufen wurde.

[in] ReceiveStatus

Der aktuelle Status des Empfangsvorgangs. Legen Sie diesen Parameter auf einen der folgenden Werte fest:

  • SerCxStatusSuccess
  • SerCxStatusCancelled
  • SerCxStatusTimeout-
Weitere Informationen zu diesen Werten finden Sie unter SERCX_STATUS.

Rückgabewert

SerCxProgressReceive gibt bei erfolgreicher Ausführung STATUS_SUCCESS zurück. Mögliche Fehlerrückgabewerte sind die folgenden Statuscodes.

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Der BytesReceived Wert überschreitet die verfügbare Pufferlänge; oder der ReceiveStatus- Wert ist ungültig.
STATUS_INVALID_DEVICE_REQUEST
Die Methode wurde beim falschen IRQL aufgerufen; oder der WDFDEVICE-Handle ist ungültig; oder der Treiber hat keinen Eingabepuffer für diesen Empfangsvorgang erhalten.
STATUS_CANCELLED
Der Empfangsvorgang wurde bereits abgebrochen.

Bemerkungen

Der serielle Controllertreiber ruft diese Methode auf, um den Fortschritt eines ausstehenden Lesevorgangs zu melden. In der Regel ruft der serielle Controllertreiber diese Methode aus dem DMA-Abschlussrückruf auf (wenn der Treiber DMA zum Lesen der Daten verwendet) oder von der Übertragungs-/Empfangs-DPC-Funktion (wenn PIO verwendet wird).

Wenn die SerCxProgressReceive nicht alle ausstehenden Arbeiten für den Lesevorgang abgeschlossen hat, muss der Aufrufer die SerCxRetrieveReceiveBuffer Methode erneut aufrufen, um einen neuen Pufferdeskriptor abzurufen und weiterhin Daten zu empfangen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Universal
Header- sercx.h
IRQL- <= DISPATCH_LEVEL

Siehe auch

SERCX_STATUS

SerCxRetrieveReceiveBuffer