Compartilhar via


FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST função de retorno de chamada (vmbuskernelmodeclientlibapi.h)

[Algumas informações referem-se ao produto pré-lançado que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não faz garantias, expressas ou implícitas, em relação às informações fornecidas aqui.]

A função VmbChannelSendSynchronousRequest envia um pacote para o ponto de extremidade oposto e aguarda uma resposta.

Sintaxe

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

Parâmetros

Channel

Um identificador para o canal.

Buffer

Dados a serem enviados.

BufferSize

O tamanho, em bytes, dos dados a serem enviados.

ExternalDataMdl

Uma MDL (Lista de Descritores de Memória) que descreve um buffer adicional a ser enviado.

Flags

Sinalizadores padrão.

CompletionBuffer

Buffer no qual armazenar os resultados do pacote de conclusão.

CompletionBufferSize

O tamanho, em bytes, do valor CompletionBuffer. Esse valor deve ser arredondado até 8 bytes mais próximos ou então a função falhará. Com êxito, retorna o número de bytes gravados em CompletionBuffer .

Timeout

Um tempo limite no estilo do o roteamento KeWaitForSingleObject. Após esse tempo decorrido, o pacote será cancelado. Para um tempo limite de zero (0), se um pacote não for inserido no buffer do anel, ele não será enfileirado.

Valor de retorno

Código de retorno Descrição
STATUS_SUCCESS
As funções foram concluídas com êxito.
STATUS_BUFFER_OVERFLOW
O pacote não se encaixava no buffer e não estava na fila.
STATUS_CANCELLED
O pacote foi cancelado.
STATUS_DEVICE_REMOVED
O canal está sendo desligado.

Observações

Os clientes podem executar essa função com qualquer combinação de parâmetros.

A raiz só poderá chamá-lo se *Timeout == 0 e o sinalizador VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION não estiver definido.

Importante

Essa função é chamada por meio da interface KMCL (Biblioteca de Clientes do Modo Kernel do VMBus), fornecida pelo driver de barramento Vmbkmcl.sys. Essa é uma função cliente acessada da estrutura de KMCL_CLIENT_INTERFACE_V1.

Para obter mais informações, consulte a seção Comentários do KMCL_CLIENT_INTERFACE_V1.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10, versão 1803
cabeçalho vmbuskernelmodeclientlibapi.h

Consulte também

KeWaitForSingleObject