Partager via


FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST fonction de rappel (vmbuskernelmodeclientlibapi.h)

[Certaines informations concernent le produit préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne 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 mdL (Memory Descriptor List) 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 jusqu’à 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 fir pas dans la mémoire tampon en anneau, il n’est pas mis en file d’attente.

Valeur de retour

Retourner le code Description
STATUS_SUCCESS
Les fonctions se sont terminées avec succès.
STATUS_BUFFER_OVERFLOW
Le paquet ne correspondait pas à la mémoire tampon et n’était pas mis en file d’attente.
STATUS_CANCELLED
Le paquet a été annulé.
STATUS_DEVICE_REMOVED
Le canal est arrêté.

Remarques

Les clients peuvent exécuter cette fonction avec n’importe quelle combinaison de paramètres.

La racine peut uniquement appeler ceci si *Timeout == 0 et que l’indicateur de 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 (VmBus Kernel Mode Client Library), 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 de la KMCL_CLIENT_INTERFACE_V1.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 1803
d’en-tête vmbuskernelmodeclientlibapi.h

Voir aussi

KeWaitForSingleObject