SerCxProgressTransmit-Funktion (sercx.h)
Die SerCxProgressTransmit-Methode meldet den Fortschritt des aktuellen Schreibvorgangs (Sendevorgangs).
Syntax
NTSTATUS SerCxProgressTransmit(
[in] WDFDEVICE Device,
[in] ULONG BytesTransmitted,
[in] SERCX_STATUS TransmitStatus
);
Parameter
[in] Device
Ein WDFDEVICE-Handle für das Frameworkgerätobjekt, das den seriellen Controller darstellt.
[in] BytesTransmitted
Die Anzahl der Datenbytes, die der Aufrufer aus dem Übertragungspuffer kopiert hat, der durch den letzten Aufruf der 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 umfassen die folgenden status-Codes.
Rückgabecode | Beschreibung |
---|---|
|
Der Wert BytesTransmitted überschreitet die verfügbare Pufferlänge. oder der Wert "TransmitStatus" ist ungültig. |
|
Die Methode wurde am falschen IRQL aufgerufen. oder das WDFDEVICE-Handle ist ungültig; oder der Treiber keinen Ausgabepuffer für diesen Übertragungsvorgang erhalten hat. |
|
Der Übertragungsvorgang wurde bereits abgebrochen. |
Hinweise
Der serielle Controllertreiber ruft diese Methode auf, um den Fortschritt eines ausstehenden Schreibvorgangs zu melden. In der Regel ruft der Serielle Controllertreiber diese Methode über den DMA-Abschlussrückruf (wenn der Treiber DMA zum Lesen der Daten verwendet) oder über seine Sende-/Empfangs-DPC-Funktion (wenn PIO verwendet wird) auf.
Wenn der SerCxProgressTransmit-Aufruf nicht alle ausstehenden Arbeiten für den Schreibvorgang abschließt, muss der Aufrufer SerCxRetrieveTransmitBuffer erneut aufrufen, um einen neuen Pufferdeskriptor zu erhalten und weiterhin Daten zu übertragen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | sercx.h |
IRQL | <= DISPATCH_LEVEL |