Applicazione di un qualificatore

Come molte altre tecniche in Managed Object Format (MOF), l'applicazione di un qualificatore al codice è un processo relativamente semplice.

Le uniche sfide reali sono le restrizioni seguenti nelle convenzioni di denominazione applicate da WMI:

  • Un qualificatore può descrivere una classe, un'istanza, una proprietà, un metodo o un parametro del metodo.

  • I nomi dei qualificatori non possono avere caratteri di sottolineatura iniziali o finali.

  • Un nome qualificatore non può iniziare con una cifra.

  • Un nome qualificatore non può contenere caratteri speciali, ad esempio & * @ ! ~ \ /.

  • Tutti i nomi dei qualificatori non fanno distinzione tra maiuscole e minuscole.

  • Non è possibile ridefinire i qualificatori WMI standard o i qualificatori descritti nella specifica CIM DMTF.

  • I tipi qualificatori non vengono dichiarati in modo esplicito.

    Se non si dichiara un tipo qualificatore, WMI presuppone che il tipo sia Boolean con un valore TRUE. In caso contrario, i qualificatori di tipi WMI in base ai valori di qualificatore dichiarati.

  • Quando si creano qualificatori personalizzati, è necessario anteporre il nome dello schema al nome del qualificatore.

    Lo scopo di questa regola è evitare confusione con i nuovi qualificatori.

  • È possibile creare matrici omogenee di qualificatori.

    Nell'esempio di codice seguente viene illustrato come vengono specificate matrici di qualificatori con parentesi graffe che racchiudono i valori.

    [StringArray{"hello", "there"}, SingleElementArray{3}]
    
  • WMI non supporta i tipi di automazione non elencati nel riferimento, ad esempio VT_NULL. Per altre informazioni, vedere Tipi di dati MOF.

La procedura seguente consente di usare C++ per aggiungere un qualificatore a una proprietà .

Per applicare un qualificatore con C++

La procedura seguente consente di applicare un qualificatore nei file MOF.

Per descrivere una parola chiave o un identificatore con un qualificatore tramite MOF

  • Posizionare un qualificatore tra parentesi quadre prima della parola chiave o dell'identificatore descritto dal qualificatore.

    Nell'esempio di codice seguente viene illustrato come vengono usati i qualificatori.

    [qualifiers...]
    class StdDisk
    {
      [qualifiers...]  uint32 dwNumCylinders;
      [qualifiers...]  uint32 dwNumHeads;
      [qualifiers...]  sint32 Method1();
      sint32 Method2([qualifiers...] Parameter1);
    };
    

    Nell'esempio seguente viene descritto il posizionamento corretto dei qualificatori.

    [Abstract]
    class MyClass
    {
        [Amendment, InstanceOf]  uint32 dwNumber;
        sint32 MyMethod ([in] sint32 Param);
    };