Partilhar via


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++

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);
    };