Freigeben über


FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST Rückruffunktion (vmbuskernelmodeclientlibapi.h)

[Einige Informationen beziehen sich auf vorab veröffentlichte Produkte, die vor der kommerziellen Veröffentlichung erheblich geändert werden können. Microsoft übernimmt keine Gewährleistungen, ausdrücklich oder konkludent in Bezug auf die hier bereitgestellten Informationen.]

Die VmbChannelSendSynchronousRequest-Funktion sendet ein Paket an den entgegengesetzten Endpunkt und wartet auf eine Antwort.

Syntax

FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST FnVmbChannelSendSynchronousRequest;

NTSTATUS FnVmbChannelSendSynchronousRequest(
  VMBCHANNEL Channel,
  PVOID Buffer,
  UINT32 BufferSize,
  PMDL ExternalDataMdl,
  UINT32 Flags,
  PVOID CompletionBuffer,
  PUINT32 CompletionBufferSize,
  PLARGE_INTEGER Timeout
)
{...}

Parameter

Channel

Ein Handle für den Kanal.

Buffer

Zu sendende Daten.

BufferSize

Die Größe der zu sendenden Daten in Bytes.

ExternalDataMdl

Eine Speicherdeskriptorliste (MDL), die einen zusätzlichen zu sendenden Puffer beschreibt.

Flags

Standardkennzeichnungen.

CompletionBuffer

Puffer, in dem Abschlusspaketergebnisse gespeichert werden sollen.

CompletionBufferSize

Die Größe des CompletionBuffer- werts in Byte. Dieser Wert muss auf die nächsten 8 Bytes aufgerundet werden, sonst schlägt die Funktion fehl. Gibt bei Erfolg die Anzahl der Bytes zurück, die in CompletionBuffergeschrieben wurden.

Timeout

Ein Timeout im Stil des KeWaitForSingleObject Routing. Nach ablauf dieser Zeit wird das Paket abgebrochen. Bei einem Timeout von Null (0) wird ein Paket nicht im Ringpuffer in die Warteschlange eingereiht.

Rückgabewert

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Funktionen wurden erfolgreich abgeschlossen.
STATUS_BUFFER_OVERFLOW
Das Paket passte nicht in den Puffer und wurde nicht in die Warteschlange gestellt.
STATUS_CANCELLED
Das Paket wurde abgebrochen.
STATUS_DEVICE_REMOVED
Der Kanal wird heruntergefahren.

Bemerkungen

Clients können diese Funktion mit einer beliebigen Kombination von Parametern ausführen.

Der Stamm kann dies nur aufrufen, wenn *Timeout == 0 und das VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION Flag nicht festgelegt ist.

Wichtig

Diese Funktion wird über die KMCL-Schnittstelle (VMBus Kernel Mode Client Library) aufgerufen, die vom Vmbkmcl.sys Bustreiber bereitgestellt wird. Dies ist eine Clientfunktion, auf die über die KMCL_CLIENT_INTERFACE_V1 Struktur zugegriffen wird.

Weitere Informationen finden Sie im Abschnitt "Hinweise" des KMCL_CLIENT_INTERFACE_V1.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 1803
Header- vmbuskernelmodeclientlibapi.h

Siehe auch

KeWaitForSingleObject