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 de 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.
Retornar valor
A função de retorno de chamada EvtWmiInstanceQueryInstance deverá 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 de 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 Supporting Read/Write WMI Data Blocks and Supporting Read-Only WMI Data Blocks.
A estrutura não sincroniza chamadas para as 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 os bloqueios de rotação da estrutura para sincronizar o acesso aos dados.
Para obter mais informações sobre wmi, consulte Suporte a WMI em drivers de Framework-Based.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Cabeçalho | wdfwmi.h (inclua Wdf.h) |
IRQL | PASSIVE_LEVEL |