Freigeben über


SerCxRetrieveTransmitBuffer-Funktion (sercx.h)

Die SerCxRetrieveTransmitBuffer-Methode ruft einen Ausgabepuffer ab, der Daten enthält, die zur Übertragung an den seriellen Port bereit sind.

Syntax

NTSTATUS SerCxRetrieveTransmitBuffer(
  [in]      WDFDEVICE                Device,
  [in]      ULONG                    Length,
  [in, out] PSERCX_BUFFER_DESCRIPTOR BufferDescriptor
);

Parameter

[in] Device

Ein WDFDEVICE-Handle für das Frameworkgerätobjekt, das den seriellen Controller darstellt.

[in] Length

Die angeforderte Pufferlänge in Bytes. Wenn der SerCxRetrieveTransmitBuffer-Aufruf erfolgreich ist, empfängt der Aufrufer einen Ausgabepuffer, der bis zu Längenbytes der verfügbaren Daten enthält. (Die verfügbaren Daten im Puffer sind möglicherweise kleiner als Längenbytes .) SerCxRetrieveTransmitBuffer schreibt die tatsächliche Anzahl der bytes verfügbaren Daten in das Length-Element der Struktur, auf die der BufferDescriptor-Parameter verweist.

[in, out] BufferDescriptor

Ein Zeiger auf eine aufruferseitig zugewiesene SERCX_BUFFER_DESCRIPTOR-Struktur . Diese Struktur beschreibt den Datenpuffer, der für den Übertragungsvorgang verwendet werden soll. Der Aufrufer hat zuvor die SERCX_BUFFER_DESCRIPTOR_INIT-Funktion aufgerufen, um diese Struktur zu initialisieren. SerCxRetrieveTransmitBuffer schreibt in die Buffer- und Length-Member dieser Struktur.

Rückgabewert

SerCxRetrieveTransmitBuffer gibt bei erfolgreicher Ausführung STATUS_SUCCESS zurück. Mögliche Fehlerrückgabewerte umfassen die folgenden status-Codes.

Rückgabecode Beschreibung
STATUS_INVALID_DEVICE_REQUEST
Die Methode wurde am falschen IRQL aufgerufen. oder das WDFDEVICE-Handle ist ungültig; oder entweder Device oder BufferDescriptor ist NULL; oder der Treiber verfügt bereits über einen Übertragungspuffer.
STATUS_INFO_LENGTH_MISMATCH
Die falsche Größe wird für die SERCX_BUFFER_DESCRIPTOR-Struktur angegeben.
STATUS_INSUFFICIENT_RESOURCES
Systemressourcen (in der Regel Arbeitsspeicher) konnten nicht zugeordnet werden.

Hinweise

Der serielle Controllertreiber ruft diese Methode auf, um einen Puffer abzurufen, der die Ausgabedaten für den aktuellen Sendevorgang (Schreibvorgang) enthält.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Universell
Header sercx.h
IRQL <= DISPATCH_LEVEL

Weitere Informationen

SERCX_BUFFER_DESCRIPTOR

SERCX_BUFFER_DESCRIPTOR_INIT