Freigeben über


SerCxProgressTransmit-Funktion (sercx.h)

Die SerCxProgressTransmit-Methode meldet den Fortschritt des aktuellen Schreibvorgangs (Übertragungsvorgang).

Syntax

NTSTATUS SerCxProgressTransmit(
  [in] WDFDEVICE    Device,
  [in] ULONG        BytesTransmitted,
  [in] SERCX_STATUS TransmitStatus
);

Parameter

[in] Device

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

[in] BytesTransmitted

Die Anzahl der Byte von Daten, die der Aufrufer aus dem Übertragungspuffer kopiert hat, der vom letzten Aufruf des SerCxRetrieveTransmitBuffer-Methode abgerufen wurde.

[in] TransmitStatus

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

  • SerCxStatusSuccess
  • SerCxStatusCancelled
Weitere Informationen zu diesen Werten finden Sie unter SERCX_STATUS.
Hinweis Der wert SerCxStatusTimeout ist nur für Empfangsvorgänge gültig. Für einen Übertragungsvorgang kann kein Intervalltimeout angegeben werden. Weitere Informationen finden Sie unter SERIAL_TIMEOUTS.
 

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Der wert BytesTransmitted überschreitet die verfügbare Pufferlänge; oder der wert TransmitStatus ungültig ist.
STATUS_INVALID_DEVICE_REQUEST
Die Methode wurde beim falschen IRQL aufgerufen; oder der WDFDEVICE-Handle ist ungültig; oder der Treiber hat keinen Ausgabepuffer für diesen Übertragungsvorgang erhalten.
STATUS_CANCELLED
Der Übertragungsvorgang wurde bereits abgebrochen.

Bemerkungen

Der serielle Controllertreiber ruft diese Methode auf, um den Fortschritt eines ausstehenden Schreibvorgangs 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 der SerCxProgressTransmit Aufruf nicht alle ausstehenden Arbeiten für den Schreibvorgang abgeschlossen hat, muss der Aufrufer SerCxRetrieveTransmitBuffer erneut aufrufen, um einen neuen Pufferdeskriptor abzurufen und weiterhin Daten zu übertragen.

Anforderungen

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

Siehe auch

SERCX_STATUS

SERIAL_TIMEOUTS

SerCxRetrieveTransmitBuffer