Função IoWMISetSingleInstance (wdm.h)

A rotina IoWMISetSingleInstance define os valores das propriedades dentro da instância do bloco de dados que corresponde à classe WMI especificada e ao nome da instância.

Sintaxe

NTSTATUS IoWMISetSingleInstance(
  [in] PVOID           DataBlockObject,
  [in] PUNICODE_STRING InstanceName,
  [in] ULONG           Version,
  [in] ULONG           ValueBufferSize,
  [in] PVOID           ValueBuffer
);

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 direito de acesso WMIGUID_SET.

[in] InstanceName

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

[in] Version

Reservado para uso futuro. Os chamadores devem definir esse parâmetro como zero.

[in] ValueBufferSize

Especifica o tamanho, em bytes, do buffer passado no parâmetro ValueBuffer .

[in] ValueBuffer

Ponteiro para o buffer que contém os novos valores para as propriedades dentro do bloco de dados.

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. Os valores das propriedades da instância do bloco de dados WMI são atualizados para o conteúdo do buffer apontado pelo parâmetro ValueBuffer .
STATUS_WMI_GUID_NOT_FOUND
Nenhum driver implementa a classe WMI.
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_WMI_READ_ONLY
Todas as propriedades da classe WMI são somente leitura.
STATUS_WMI_SET_FAILURE
O driver que implementa a instância do bloco de dados WMI não pode atualizar a instância.

Comentários

IoWMISetSingleInstance determina quais drivers podem dar suporte à classe WMI especificada e ao nome da instância e emite uma solicitação de IRP_MN_CHANGE_SINGLE_INSTANCE para cada driver. O driver que exporta a instância do bloco de dados com a propriedade InstanceName correspondente atualiza sua instância de bloco de dados. Observe que um bloco de dados pode ter propriedades somente leitura e leitura/gravação. Nesse caso, somente as propriedades de leitura/gravação serão atualizadas e STATUS_SUCCESS será retornado.

Os drivers também podem usar a rotina IoWMISetSingleItem para atualizar uma única propriedade dentro da 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_CHANGE_SINGLE_INSTANCE

IoWMIOpenBlock

IoWMIQuerySingleInstance

IoWMISetSingleItem