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