Aplicando um qualificador
Como muitas outras técnicas no Managed Object Format (MOF), aplicar um qualificador ao seu código é um processo relativamente simples.
Os únicos desafios reais são as seguintes restrições nas convenções de nomenclatura que o WMI impõe:
Um qualificador pode descrever uma classe, instância, propriedade, método ou parâmetro de método.
Os nomes dos qualificadores não podem ter sublinhados no início ou no final.
Um nome de qualificador não pode começar com um dígito.
Um nome de qualificador não pode conter caracteres especiais, como & * @ ! ~ \ /.
Todos os nomes de qualificadores não fazem distinção entre maiúsculas e minúsculas.
Não é possível redefinir os qualificadores WMI padrão ou quaisquer qualificadores descritos na especificação DMTF CIM.
Os tipos de qualificadores não são explicitamente declarados.
Se você não declarar um tipo de qualificador, o WMI assumirá o tipo como booleano com um valor de TRUE. Caso contrário, o WMI atribui tipos aos qualificadores com base nos valores dos qualificadores declarados.
Ao criar os seus próprios qualificadores, deve antepor o nome do esquema ao nome do qualificador.
O objetivo desta regra é evitar confusão com novos qualificadores.
Você pode criar matrizes homogêneas de qualificadores.
O exemplo de código a seguir mostra como as matrizes de qualificador são especificadas com chaves que cercam os valores.
[StringArray{"hello", "there"}, SingleElementArray{3}]
O WMI não suporta tipos de automação não listados na referência, como VT_NULL. Para obter mais informações, consulte Tipos de dados MOF.
O procedimento a seguir ajuda você a usar C++ para adicionar um qualificador a uma propriedade.
Para aplicar um qualificador usando C++
Aplique o qualificador com uma chamada ao método IWbemQualifierSet::Put.
Você pode usar outros métodos de IWbemQualifierSet para recuperar ou excluir qualificadores existentes.
O procedimento a seguir ajuda você a aplicar um qualificador em arquivos MOF.
Para descrever uma palavra-chave ou identificador com um qualificador usando MOF
Coloque um qualificador entre parênteses antes da palavra-chave ou identificador descrito pelo qualificador.
O exemplo de código a seguir mostra como os qualificadores são usados.
[qualifiers...] class StdDisk { [qualifiers...] uint32 dwNumCylinders; [qualifiers...] uint32 dwNumHeads; [qualifiers...] sint32 Method1(); sint32 Method2([qualifiers...] Parameter1); };
O exemplo a seguir descreve o posicionamento adequado dos qualificadores.
[Abstract] class MyClass { [Amendment, InstanceOf] uint32 dwNumber; sint32 MyMethod ([in] sint32 Param); };