Compartilhar via


Função Put

Define uma propriedade nomeada para um novo valor.

Observação

Esta API é somente para uso interno. Ela não é destinada ao uso do código do desenvolvedor.

Sintaxe

HRESULT Put (
   [in] int               vFunc,
   [in] IWbemClassObject* ptr,
   [in] LPCWSTR           wszName,
   [in] LONG              lFlags,
   [in] VARIANT*          pVal,
   [in] CIMTYPE           vtType
);

Parâmetros

vFunc
[in] Esse parâmetro não está em uso.

ptr
[in] Um ponteiro para uma instância IWbemClassObject.

wszName
[in] O nome da propriedade. O parâmetro não pode ser null.

lFlags
[in] Reservado. Esse parâmetro deve ser 0.

pVal
[in] Um ponteiro para um VARIANT válido que se torna o novo valor da propriedade. Se pVal for null ou apontar para um VARIANT do tipo VT_NULL, a propriedade será definida como null.

vtType
[in] O tipo de VARIANT apontado por pVal. Consulte a seção Comentários para obter mais informações.

Valor retornado

Os seguintes valores retornados por essa função são definidos no arquivo de cabeçalho WbemCli.h, ou você pode defini-los como constantes em seu código:

Constante Valor Descrição
WBEM_E_FAILED 0x80041001 Houve uma falha geral.
WBEM_E_INVALID_PARAMETER 0x80041008 Um ou mais dos parâmetros não são válidos.
WBEM_E_INVALID_PROPERTY_TYPE 0x8004102a O tipo de propriedade não é reconhecido. Esse valor será retornado ao criar instâncias de classe se a classe já existir.
WBEM_E_OUT_OF_MEMORY 0x80041006 Não há memória disponível suficiente para concluir a operação.
WBEM_E_TYPE_MISMATCH 0x80041005 Para instâncias: indica que pVal aponta para um VARIANT de um tipo incorreto para a propriedade.
Para definições de classe: a propriedade já existe na classe pai e o novo tipo COM é diferente do tipo COM antigo.
WBEM_S_NO_ERROR 0 A chamada de função foi bem-sucedida.

Comentários

Essa função encapsula uma chamada para o método IWbemClassObject::Put.

Essa função sempre substitui o valor da propriedade atual com um novo. Se o IWbemClassObject apontar para uma definição de classe, Put criará ou atualizará o valor da propriedade. Quando IWbemClassObject aponta para uma instância CIM, Put atualiza apenas o valor da propriedade; Put não pode criar um valor de propriedade.

A propriedade do sistema __CLASS só é gravável durante a criação da classe, quando não pode ser deixada em branco. Todas as outras propriedades do sistema são somente leitura.

O usuário não pode criar propriedades com nomes que começam ou terminam com um sublinhado ("_"). Isso é reservado para propriedades e classes de sistema.

Se a propriedade definida pela função Put existir na classe pai, o valor padrão da propriedade será alterado, a menos que o tipo de propriedade não corresponda ao tipo de classe pai. Se a propriedade não existir e não for uma incompatibilidade de tipo, a propriedade será criada.

Use o parâmetro vtType somente ao criar novas propriedades em uma definição de classe CIM e pVal é null ou aponta para um VARIANT do tipo VT_NULL. Nesse caso, o parâmetro vType especifica o tipo CIM da propriedade. Em todos os outros casos, vtType deve ser 0. vtType também deve ser 0 se o objeto subjacente for uma instância (mesmo que Val seja null) porque o tipo da propriedade é fixo e não pode ser alterado.

Exemplo

Para obter um exemplo, consulte o método IWbemClassObject::Put.

Requisitos

Plataformas: confira Requisitos do sistema.

Header: WMINet_Utils.idl

Versões do .NET Framework: Disponível desde 4.7.2

Confira também