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 |
---|---|
|
Le funzioni sono state completate correttamente. |
|
Il pacchetto non è adatto al buffer e non è stato accodato. |
|
Il pacchetto è stato annullato. |
|
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 |