Partilhar via


Função Put

Define uma propriedade com nome para um novo valor.

Nota

Esta API destina-se apenas a utilização interna. Não se destina a ser utilizado a partir do código do programador.

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] Este parâmetro não é utilizado.

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

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

lFlags
[in] Reservado. Este parâmetro tem de ser 0.

pVal
[in] Um ponteiro para um valor válido VARIANT que se torna o novo valor de propriedade. Se pVal for null ou apontar para um VARIANT tipo, VT_NULLa propriedade está definida como null.

vtType
[in] O tipo de VARIANT apontado por pVal. Consulte a secção Observações para obter mais informações.

Valor devolvido

Os seguintes valores devolvidos por esta função são definidos no ficheiro de cabeçalho WbemCli.h ou pode defini-los como constantes no seu código:

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

Observações

Esta função encapsula uma chamada para o método IWbemClassObject::P ut .

Esta função substitui sempre o valor da propriedade atual por uma nova. Se o IWbemClassObject apontar para uma definição de classe, Put cria ou atualiza 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 __CLASS sistema só é gravável durante a criação da classe, quando pode não ficar em branco. Todas as outras propriedades do sistema são só de leitura.

Um utilizador não pode criar propriedades com nomes que comecem ou terminem com um sublinhado ("_"). Isto está reservado para classes e propriedades do sistema.

Se a propriedade definida pela Put função existir na classe principal, o valor predefinido da propriedade será alterado, a menos que o tipo de propriedade não corresponda ao tipo de classe principal. Se a propriedade não existir e não for um erro de correspondência de tipo, a propriedade é criada.

Utilize o vtType parâmetro apenas ao criar novas propriedades numa definição de classe CIM e pVal é null ou aponta para um VARIANT tipo VT_NULL. Neste caso, o vType parâmetro especifica o tipo CIM da propriedade. Em todos os outros casos, vtType tem de ser 0. vtType também tem de 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

Por exemplo, veja o método IWbemClassObject::P ut .

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: WMINet_Utils.idl

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

Ver também