Freigeben über


FN_VMB_PACKET_SEND 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 VmbPacketSend-Funktion sendet die Daten in einem Paketpuffer oder externen Daten memory descriptor List (MDL). Die Funktion ordnet diese Daten dem VMBus-Paketobjekt zu, das das Paket während der gesamten Lebensdauer der Transaktion darstellt.

Syntax

FN_VMB_PACKET_SEND FnVmbPacketSend;

NTSTATUS FnVmbPacketSend(
  __drv_aliasesMem VMBPACKET PacketObject,
  PVOID Buffer,
  UINT32 BufferLength,
  PMDL ExternalDataMdl,
  UINT32 Flags
)
{...}

Parameter

PacketObject

Ein Handle für das VMBus-Paketobjekt.

Buffer

Ein Puffer, der das Befehlspaket enthält, das über den VMBus-Ringpuffer gesendet wird.

BufferLength

Die Länge des Puffers im Buffer-Parameter in Bytes.

ExternalDataMdl

Eine MDL, die einen dem Paket zugeordneten Datenpuffer beschreibt.

Flags

Flaggen. Im Folgenden sind relevante Flags aufgeführt:

Wert Bedeutung
VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION
Dieses Paket kann nicht als abgeschlossen betrachtet werden, und seine Ressourcen können erst freigegeben werden, wenn ein Abschlusspaket vom entgegengesetzten Endpunkt zurückkommt.
VMBUS_CHANNEL_FORMAT_FLAG_PAGED_BUFFER
Der Inlinepuffer ist ausgelagert und muss entsprechend behandelt werden, was bedeutet, dass er vor dem Eintritt in die DPC-Ebene kopiert werden muss. Das Testen von Puffern im Benutzermodus oder die Behandlung von Zugriffsverstößen liegt in der Verantwortung des Aufrufers.

Rückgabewert

Gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist, oder andernfalls einen entsprechenden NTSTATUS-Fehlercode.

Hinweise

Informationen zu anderen Möglichkeiten zum Senden von Paketen finden Sie unter den Funktionen VmbPacketSendWithExternalMdl, VmbChannelSendSynchronousRequest und VmbPacketSendWithExternalPfns .

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

Weitere Informationen

VmbChannelSendSynchronousRequest

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns