FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST Rückruffunktion (vmbuskernelmodeclientlibapi.h)
[Einige Informationen beziehen sich auf die Vorabversion, die vor der kommerziellen Freigabe möglicherweise wesentlichen Änderungen unterliegt. Microsoft übernimmt für die hier bereitgestellten Informationen keine Gewährleistung, weder ausdrücklicher noch impliziter Art.]
Die VmbChannelSendSynchronousRequest-Funktion sendet ein Paket an den anderen 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 (Memory Descriptor List, MDL), die einen zusätzlichen zu sendenden Puffer beschreibt.
Flags
Standardflags.
CompletionBuffer
Puffer, in dem die Ergebnisse des Vervollständigungspakets gespeichert werden sollen.
CompletionBufferSize
Die Größe des CompletionBuffer-Werts in Bytes. Dieser Wert muss auf die nächsten 8 Bytes aufgerundet werden, andernfalls schlägt die Funktion fehl. Gibt bei Erfolg die Anzahl der in CompletionBuffer geschriebenen Bytes zurück.
Timeout
Ein Timeout im Stil des KeWaitForSingleObject-Routings . 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 eingereiht. |
|
Das Paket wurde abgebrochen. |
|
Der Kanal wird heruntergefahren. |
Hinweise
Clients können diese Funktion mit einer beliebigen Kombination von Parametern ausführen.
Der Stamm kann diesen nur aufrufen, wenn *Timeout == 0
und das flag VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1803 |
Kopfzeile | vmbuskernelmodeclientlibapi.h |