Condividi tramite


FN_VMB_PACKET_SEND funzione di callback (vmbuskernelmodeclientlibapi.h)

[Alcune informazioni riguardano il prodotto non rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce garanzie, esplicite o implicite, relativamente alle informazioni fornite qui.

La funzione VmbPacketSend invia i dati in un buffer di pacchetti o in un elenco MDL (Data Memory Descriptor List). La funzione associa tali dati all'oggetto pacchetto VMBus, che rappresenta il pacchetto per tutta la durata della transazione.

Sintassi

FN_VMB_PACKET_SEND FnVmbPacketSend;

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

Parametri

PacketObject

Handle per l'oggetto pacchetto VMBus.

Buffer

Buffer che contiene il pacchetto di comando inviato tramite il buffer circolare VMBus.

BufferLength

Lunghezza, in byte, del buffer nel parametro buffer.

ExternalDataMdl

MDL che descrive un buffer di dati associato al pacchetto.

Flags

Bandiere. Di seguito sono riportati i flag pertinenti:

Valore Significato
VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION
Questo pacchetto non può essere considerato completo e le relative risorse non possono essere rilasciate fino a quando un pacchetto di completamento non viene restituito dall'endpoint opposto.
VMBUS_CHANNEL_FORMAT_FLAG_PAGED_BUFFER
Il buffer inline viene paging e deve essere trattato di conseguenza, il che significa che deve essere copiato prima di entrare a livello DPC. Il probe dei buffer in modalità utente o la gestione delle violazioni di accesso è responsabilità del chiamante.

Valore restituito

Restituisce STATUS_SUCCESS se l'operazione ha esito positivo o un codice di errore NTSTATUS appropriato in caso contrario.

Osservazioni

Per informazioni su altri modi per inviare pacchetti, vedere VmbPacketSendWithExternalMdl, VmbChannelSendSynchronousRequeste funzioni VmbPacketSendWithExternalPfns.

Importante

Questa funzione viene chiamata tramite l'interfaccia VMBus Kernel Mode Client Library (KMCL), fornita dal driver del bus di Vmbkmcl.sys. Si tratta di una funzione client a cui si accede dalla struttura KMCL_CLIENT_INTERFACE_V1.

Per altre informazioni, vedere la sezione Osservazioni del KMCL_CLIENT_INTERFACE_V1.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 1803
intestazione vmbuskernelmodeclientlibapi.h

Vedere anche

VmbChannelSendSynchronousRequest

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns