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 alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.

La funzione VmbPacketSend invia i dati in un buffer di pacchetti o in un elenco MDL (Data Descriptor List) di dati esterni. La funzione associa i 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 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 finché non viene restituito un pacchetto di completamento dall'endpoint opposto.
VMBUS_CHANNEL_FORMAT_FLAG_PAGED_BUFFER
Il buffer inline viene eseguito il 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.

Commenti

Per informazioni su altri modi per inviare pacchetti, vedere le funzioni VmbPacketSendWithExternalMdl, VmbChannelSendSynchronousRequest e 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.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1803
Intestazione vmbuskernelmodeclientlibapi.h

Vedi anche

VmbChannelSendSynchronousRequest

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns