Condividi tramite


FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST funzione di callback (vmbuskernelmodeclientlibapi.h)

[Alcune informazioni si riferiscono al prodotto pre-rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non offre garanzie, esplicite o implicite, rispetto alle informazioni fornite qui.

La funzione VmbChannelSendSynchronousRequest invia un pacchetto all'endpoint opposto e attende una risposta.

Sintassi

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
)
{...}

Parametri

Channel

Handle per il canale.

Buffer

Dati da inviare.

BufferSize

Dimensioni, in byte, dei dati da inviare.

ExternalDataMdl

Elenco di descrittori di memoria (MDL) che descrive un buffer aggiuntivo da inviare.

Flags

Flag standard.

CompletionBuffer

Buffer in cui archiviare i risultati del pacchetto di completamento.

CompletionBufferSize

Dimensioni, in byte, del valore CompletamentoBuffer . Questo valore deve essere arrotondato fino a 8 byte più vicino oppure la funzione ha esito negativo. In caso di esito positivo, restituisce il numero di byte scritti in CompletamentoBuffer.

Timeout

Timeout nello stile del routing KeWaitForSingleObject . Dopo questo intervallo di tempo, il pacchetto viene annullato. Per un timeout pari a zero (0), se un pacchetto non si trova nel buffer dell'anello, non viene accodato.

Valore restituito

Codice restituito Descrizione
STATUS_SUCCESS
Le funzioni sono state completate correttamente.
STATUS_BUFFER_OVERFLOW
Il pacchetto non è adatto al buffer e non è stato accodato.
STATUS_CANCELLED
Il pacchetto è stato annullato.
STATUS_DEVICE_REMOVED
Il canale viene arrestato.

Commenti

I client possono eseguire questa funzione con qualsiasi combinazione di parametri.

La radice può chiamare questa opzione solo se *Timeout == 0 e il flag di VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION non è impostato.

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 accessibile dalla struttura KMCL_CLIENT_INTERFACE_V1 .

Per altre informazioni, vedere la sezione Osservazioni della KMCL_CLIENT_INTERFACE_V1.

Requisiti

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

Vedi anche

KeWaitForSingleObject