EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE função de retorno de chamada (wdfwmi.h)

[Aplica-se somente ao KMDF]

A função de retorno de chamada EvtWmiInstanceQueryInstance de um driver copia os dados da instância de um provedor WMI em um buffer para entrega a um cliente WMI.

Sintaxe

EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWdfWmiInstanceQueryInstance;

NTSTATUS EvtWdfWmiInstanceQueryInstance(
  [in]  WDFWMIINSTANCE WmiInstance,
  [in]  ULONG OutBufferSize,
  [in]  PVOID OutBuffer,
  [out] PULONG BufferUsed
)
{...}

Parâmetros

[in] WmiInstance

Um identificador para um objeto de instância WMI.

[in] OutBufferSize

O tamanho, em bytes, do buffer de saída para o qual o OutBuffer aponta.

[in] OutBuffer

Um ponteiro para o buffer de saída.

[out] BufferUsed

Um ponteiro para um local que recebe o número de bytes que o driver coloca no buffer de saída. Se o tamanho do buffer de saída especificado pelo parâmetro OutBufferSize for muito pequeno, o driver definirá esse local como o tamanho do buffer necessário.

Valor retornado

A função de retorno de chamada EvtWmiInstanceQueryInstance deve retornar STATUS_BUFFER_TOO_SMALL, se o valor do parâmetro OutBufferSize indicar que o buffer de saída é muito pequeno para receber os dados. Caso contrário, a função de retorno de chamada deve copiar dados para o buffer e retornar STATUS_SUCCESS.

Comentários

Para registrar uma função de retorno de chamada EvtWmiInstanceQueryInstance , o driver deve colocar o endereço da função em uma estrutura WDF_WMI_INSTANCE_CONFIG antes de chamar WdfWmiInstanceCreate.

Antes que a estrutura envie os dados da instância fornecidos pelo driver para o cliente WMI, ela adiciona todas as informações de cabeçalho WMI necessárias aos dados.

Se o driver definir o membro UseContextForQuery da estrutura WDF_WMI_INSTANCE_CONFIG do objeto de instância WMI como TRUE para um bloco de dados somente leitura, o driver não fornecerá uma função de retorno de chamada EvtWmiInstanceQueryInstance .

Se o driver precisar fornecer dados de cadeia de caracteres a um cliente WMI, o driver deverá chamar a função WDF_WMI_BUFFER_APPEND_STRING para formatar a cadeia de caracteres.

Para obter mais informações sobre a função de retorno de chamada EvtWmiInstanceQueryInstance , consulte Suporte a blocos de dados WMI de leitura/gravação e suporte Read-Only blocos de dados WMI.

A estrutura não sincroniza chamadas para funções de retorno de chamada de evento WMI de um driver entre si ou com qualquer outra função de retorno de chamada de evento do driver. Se os dados da função de retorno de chamada EvtWmiInstanceQueryInstance forem dinâmicos e compartilhados com outras funções de retorno de chamada, o driver poderá usar os bloqueios de espera ou bloqueios de rotação da estrutura para sincronizar o acesso aos dados.

Para obter mais informações sobre o WMI, consulte Suporte à WMI em drivers de Framework-Based.

Requisitos

   
Plataforma de Destino Universal
Versão mínima do KMDF 1,0
Cabeçalho wdfwmi.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Confira também

EvtWmiInstanceExecuteMethod

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_BUFFER_APPEND_STRING

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate