Compartilhar via


Função IoWMIQueryAllDataMultiple (wdm.h)

A rotina IoWMIQueryAllDataMultiple retorna todos os blocos de dados WMI que implementam um de um conjunto de classes WMI.

Sintaxe

NTSTATUS IoWMIQueryAllDataMultiple(
  [in]            PVOID  *DataBlockObjectList,
  [in]            ULONG  ObjectCount,
  [in, out]       PULONG InOutBufferSize,
  [out, optional] PVOID  OutBuffer
);

Parâmetros

[in] DataBlockObjectList

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

[in] ObjectCount

Especifica o número de entradas na matriz passadas no parâmetro DataBlockObjectList.

[in, out] InOutBufferSize

Ponteiro para um local de memória que especifica o tamanho do buffer passado no parâmetro do OutBuffer. Se a rotina for bem-sucedida, ela atualizará o local de memória para especificar o número de bytes realmente armazenados em outbuffer. Se a rotina falhar com o código de status 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 do WMI. A rotina retorna uma sequência de estruturas de WNODE_ALL_DATA de tamanho variável, uma para cada conjunto de blocos de dados retornados. O WnodeHeader.Linkage de cada estrutura WNODE_ALL_DATA contém o deslocamento do início do WNODE_ALL_DATA atual até o início do próximo WNODE_ALL_DATA. O bloco final da cadeia WnodeHeader.Linkage definido como zero. do OutBuffer deve apontar para um buffer alocado do pool nãopagado.

Valor de retorno

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

Código de retorno Descrição
STATUS_SUCCESS
A operação foi bem-sucedida. 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_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.

Observações

IoWMIQueryAllDataMultiple determina quais drivers dão suporte às classes WMI especificadas e emite uma solicitação IRP_MN_QUERY_ALL_DATA para cada driver.

Se nenhum drivers implementar nenhuma das classes WMI especificadas, a rotina retornará STATUS_SUCCESS ela também retornará um valor igual a zero no local de memória apontado pelo parâmetro InOutBufferSize.

Para consultar uma única classe WMI, use IoWMIQueryAllData .

Requisitos

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

Consulte também

IRP_MN_QUERY_ALL_DATA

IoWMIOpenBlock

IoWMIQueryAllData