Função IoWMIOpenBlock (wdm.h)

A rotina IoWMIOpenBlock abre o objeto de bloco de dados WMI para a classe WMI especificada.

Sintaxe

NTSTATUS IoWMIOpenBlock(
  [in]  LPCGUID Guid,
  [in]  ULONG   DesiredAccess,
  [out] PVOID   *DataBlockObject
);

Parâmetros

[in] Guid

Especifica o GUID para a classe WMI.

[in] DesiredAccess

Especifica os direitos de acesso desejados para o objeto de bloco de dados. O chamador deve ter direitos de acesso específicos para executar determinadas operações.

Veja a seguir uma descrição de cada bit direito de acesso e as operações que ele permite:

WMIGUID_EXECUTE

O objeto de bloco de dados pode ser usado para executar métodos de classe WMI. Esse sinalizador deve ser definido para usar IoWMIExecuteMethod no objeto de bloco de dados.

WMIGUID_NOTIFICATION

O objeto de bloco de dados pode ser usado para registrar retornos de chamada de notificação de eventos. Esse sinalizador deve ser definido para usar IoWMISetNotificationCallback e só pode ser usado para blocos de eventos WMI. Os chamadores que especificam esse sinalizador também devem especificar o sinalizador SYNCHRONIZE.

WMIGUID_QUERY

O objeto de bloco de dados pode ser usado para consultar as propriedades da classe WMI. Esse sinalizador deve ser definido para usar qualquer uma das rotinas do IoWMIQueryXxx no objeto de bloco de dados.

WMIGUID_SET

O objeto de bloco de dados pode ser usado para definir propriedades da classe WMI. Esse sinalizador deve ser definido para usar qualquer uma das rotinas xxx do IoWMISet no objeto de bloco de dados.

[out] DataBlockObject

Ponteiro para um local de memória em que a rotina retorna um ponteiro para o objeto de bloco de dados.

Retornar valor

Retorna STATUS_SUCCESS com êxito ou o código de erro NTSTATUS apropriado em caso de falha.

Comentários

O chamador usa IoWMIOpenBlock para criar um objeto de bloco de dados para o GUID de classe WMI especificado. Posteriormente, o chamador pode usar o objeto de bloco de dados para ler ou gravar propriedades da classe WMI, executar métodos de classe WMI e registrar retornos de chamada para eventos WMI.

Use as rotinas IoWMIQueryXxx e IoWMISetXxx para ler e gravar propriedades da classe WMI. Use IoWMIExecuteMethod para executar métodos de classe WMI e use IoWMISetNotificationCallback para registrar um retorno de chamada de notificação de evento WMI.

Use ObDereferenceObject para fechar o objeto de bloco de dados depois que ele não for mais necessário.

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 (inclua Ntddk.h, Ntifs.h. Os valores de WMIGUID_XXX são declarados em Wmistr.h. Para usá-los, inclua Wmistr.h.)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Confira também

IoWMIExecuteMethod

IoWMIQueryAllData

IoWMIQueryAllDataMultiple

IoWMIQuerySingleInstance

IoWMIQuerySingleInstanceMultiple

IoWMISetNotificationCallback

IoWMISetSingleInstance

IoWMISetSingleItem

ZwClose