Freigeben über


SerCxRetrieveReceiveMdl-Funktion (sercx.h)

Die SerCxRetrieveReceiveMdl Methode ruft die MDL ab, die den Puffer beschreibt, der zum Empfangen des nächsten Eingabedatenblocks verwendet werden soll.

Syntax

NTSTATUS SerCxRetrieveReceiveMdl(
  [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

SerCxRetrieveReceiveMdl 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 Empfangsanforderung, um eine MDL zu erhalten.
  • Die aktuelle Anzahl der empfangenen Bytes (wie vom SerCxProgressReceive Methode gemeldet) ist ungleich Null.
  • Der Puffer wurde bereits abgerufen (und der entsprechende Aufruf des SerCxProgressReceive Methode ist noch nicht aufgetreten).
  • Die MDL wurde bereits abgerufen (und der entsprechende Aufruf des SerCxProgressReceive Methode ist noch nicht aufgetreten).

Bemerkungen

Der serielle Controllertreiber ruft diese Funktion auf, um eine MDL abzurufen, die für den aktuellen Empfangsvorgang (Lesevorgang) verwendet werden soll. Die MDL beschreibt den Pufferspeicher, in den der Treiber die empfangenen Daten übertragen soll. Der Treiber ist der exklusive Besitzer dieser MDL, bis er die SerCxProgressReceive-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

SerCxProgressReceive