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
Rückgabewert
SerCxProgressTransmit gibt bei erfolgreicher Ausführung STATUS_SUCCESS zurück. Mögliche Fehlerrückgabewerte sind die folgenden Statuscodes.
Rückgabecode | Beschreibung |
---|---|
|
Der wert BytesTransmitted überschreitet die verfügbare Pufferlänge; oder der wert TransmitStatus ungültig ist. |
|
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. |
|
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 |