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 |
---|---|
|
Die Funktionen wurden erfolgreich abgeschlossen. |
|
Das Paket passte nicht in den Puffer und wurde nicht in die Warteschlange gestellt. |
|
Das Paket wurde abgebrochen. |
|
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 |