Freigeben über


SerCxRetrieveTransmitMdl-Funktion (sercx.h)

Die SerCxRetrieveTransmitMdl Methode ruft die MDL ab, die den Puffer beschreibt, der den nächsten zu übertragenden Ausgabedatenblock enthält.

Syntax

NTSTATUS SerCxRetrieveTransmitMdl(
  [in]  WDFDEVICE Device,
  [out] PMDL      *Mdl
);

Parameter

[in] Device

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

[out] Mdl

Ein Zeiger auf eine Position, in die die Methode einen Zeiger auf die MDL schreibt.

Rückgabewert

SerCxRetrieveTransmitMdl gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Rückgabewerte sind die folgenden Fehlercodes.

Rückgabecode Beschreibung
STATUS_INVALID_DEVICE_REQUEST
Dieser Wert wird zurückgegeben, wenn einer der folgenden Aktionen auftritt:
  • Es gibt keine ausstehende Übertragungsanforderung, um eine MDL abzurufen.
  • Die aktuelle Anzahl der übertragenen Bytes (wie vom SerCxProgressTransmit-Methode gemeldet) ist ungleich Null.
  • Der Puffer wurde bereits abgerufen (und der entsprechende Aufruf des SerCxProgressTransmit Methode ist noch nicht aufgetreten).
  • Die MDL wurde bereits abgerufen (und der entsprechende Aufruf der SerCxProgressTransmit Methode ist noch nicht aufgetreten).

Bemerkungen

Der serielle Controllertreiber ruft diese Funktion auf, um eine MDL abzurufen, die für den aktuellen Sendevorgang (Schreibvorgang) verwendet werden soll. Die MDL beschreibt den Pufferspeicher, aus dem der Treiber die zu übertragenden Daten abruft. Der Treiber ist der exklusive Besitzer dieser MDL, bis er die SerCxProgressTransmit--Methode aufruft, nach der der MDL-Zeiger ungültig ist und der Treiber nicht mehr versuchen muss, auf die MDL oder den Pufferspeicher zuzugreifen, den die MDL beschreibt.

Weitere Informationen zu MDLs finden Sie unter Verwenden von MDLs.

Anforderungen

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

Siehe auch

SerCxProgressTransmit