FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST fonction de rappel (vmbuskernelmodeclientlibapi.h)
[Certaines informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.]
La fonction VmbChannelSendSynchronousRequest envoie un paquet au point de terminaison opposé et attend une réponse.
Syntaxe
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
)
{...}
Paramètres
Channel
Handle pour le canal.
Buffer
Données à envoyer.
BufferSize
Taille, en octets, des données à envoyer.
ExternalDataMdl
Liste de descripteurs de mémoire (MDL) qui décrit une mémoire tampon supplémentaire à envoyer.
Flags
Indicateurs standard.
CompletionBuffer
Mémoire tampon dans laquelle stocker les résultats du paquet d’achèvement.
CompletionBufferSize
Taille, en octets, de la valeur CompletionBuffer . Cette valeur doit être arrondie à 8 octets les plus proches, sinon la fonction échoue. En cas de réussite, retourne le nombre d’octets écrits dans CompletionBuffer.
Timeout
Délai d’expiration dans le style du routage KeWaitForSingleObject . Une fois ce temps écoulé, le paquet est annulé. Pour un délai d’expiration de zéro (0), si un paquet ne se trouve pas dans la mémoire tampon en anneau, il n’est pas mis en file d’attente.
Valeur retournée
Code de retour | Description |
---|---|
|
Les fonctions se sont terminées avec succès. |
|
Le paquet ne tient pas dans la mémoire tampon et n’est pas mis en file d’attente. |
|
Le paquet a été annulé. |
|
Le canal est en cours d’arrêt. |
Remarques
Les clients peuvent exécuter cette fonction avec n’importe quelle combinaison de paramètres.
La racine peut l’appeler uniquement si *Timeout == 0
et que l’indicateur VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION n’est pas défini.
Important
Cette fonction est appelée par le biais de l’interface KMCL (Kernel Mode Client Library) VMBus, fournie par le pilote de bus Vmbkmcl.sys. Il s’agit d’une fonction cliente accessible à partir de la structure KMCL_CLIENT_INTERFACE_V1 .
Pour plus d’informations, consultez la section Remarques du KMCL_CLIENT_INTERFACE_V1.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 version 1803 |
En-tête | vmbuskernelmodeclientlibapi.h |