Função IoWMIQuerySingleInstance (wdm.h)

A rotina IoWMIQuerySingleInstance retorna a instância especificada de um bloco de dados WMI.

Sintaxe

NTSTATUS IoWMIQuerySingleInstance(
  [in]            PVOID           DataBlockObject,
  [in]            PUNICODE_STRING InstanceName,
  [in, out]       PULONG          InOutBufferSize,
  [out, optional] PVOID           OutBuffer
);

Parâmetros

[in] DataBlockObject

Ponteiro para um objeto de bloco de dados WMI. O chamador abre o objeto de bloco de dados para a classe WMI com a rotina IoWMIOpenBlock . O objeto deve ser aberto com o WMIGUID_QUERY direito de acesso.

[in] InstanceName

Especifica o nome da instância do bloco de dados. Esse valor corresponde ao valor da propriedade InstanceName do bloco.

[in, out] InOutBufferSize

Ponteiro para um local de memória que especifica o tamanho do buffer passado no parâmetro OutBuffer . Se a rotina for bem-sucedida, ela atualizará o local de memória para especificar o número de bytes realmente armazenados no OutBuffer. Se a rotina falhar com status código de STATUS_BUFFER_TOO_SMALL, ela retornará o número de bytes necessários para retornar os dados.

[out, optional] OutBuffer

Ponteiro para o buffer em que a rotina retorna os dados WMI. A rotina retorna uma estrutura de WNODE_SINGLE_INSTANCE de tamanho variável. O OutBuffer deve apontar para um buffer alocado do pool nãopagado.

Retornar valor

A rotina retorna um código NTSTATUS. Os possíveis valores retornados incluem:

Código de retorno Descrição
STATUS_SUCCESS
A operação foi realizada com êxito. A rotina retorna os dados WMI no buffer apontado pelo parâmetro OutBuffer . A rotina também retorna o tamanho, em bytes, dos dados retornados no local da memória apontado pelo parâmetro InOutBufferSize .
STATUS_WMI_GUID_NOT_FOUND
Nenhum drivers implementa a classe WMI especificada.
STATUS_WMI_INSTANCE_NOT_FOUND
Nenhum driver implementa uma instância da classe WMI com a propriedade InstanceName igual ao valor especificado no parâmetro InstanceName .
STATUS_BUFFER_TOO_SMALL
O buffer passado pelo chamador no parâmetro OutBuffer é muito pequeno. A rotina retorna o tamanho do buffer necessário no local de memória apontado pelo parâmetro InOutBufferSize .

Comentários

IoWMIQuerySingleInstance determina quais drivers podem dar suporte à classe WMI especificada com o nome da instância especificada e emite uma solicitação IRP_MN_QUERY_SINGLE_INSTANCE para cada driver desse tipo. O driver que exporta a instância do bloco de dados com a propriedade InstanceName correspondente retorna os dados apropriados.

Para consultar várias classes WMI e nomes de instância, use a rotina IoWMIQuerySingleInstanceMultiple . Os drivers podem usar a rotina IoWMISetSingleInstance para atualizar a instância de classe.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows XP e versões posteriores do sistema operacional Windows.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

IRP_MN_QUERY_SINGLE_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstanceMultiple

IoWMISetSingleInstance