Udostępnij za pośrednictwem


Stosowanie kwalifikatora

Podobnie jak wiele innych technik w formacie MOF (Managed Object Format), zastosowanie kwalifikatora do kodu jest stosunkowo prostym procesem.

Jedynymi prawdziwymi wyzwaniami są następujące ograniczenia w konwencjach nazewnictwa, które wymusza WMI.

  • Kwalifikator może opisać klasę, wystąpienie, właściwość, metodę lub parametr metody.

  • Nazwy kwalifikatora nie mogą mieć ani wiodących, ani końcowych podkreślników.

  • Nazwa kwalifikatora nie może rozpoczynać się od cyfry.

  • Nazwa kwalifikatora nie może zawierać znaków specjalnych, takich jak & * @ ! ~ \ /.

  • Wszystkie nazwy kwalifikatora są bez uwzględniania wielkości liter.

  • Nie można ponownie zdefiniować standardowych kwalifikatorów WMI ani żadnych kwalifikatorów opisanych w specyfikacji CIM DMTF.

  • Typy kwalifikatora nie są jawnie deklarowane.

    Jeśli typ kwalifikatora nie zostanie zadeklarowany, w usłudze WMI przyjęto założenie, że typ jest wartością logiczną z wartością TRUE. W przeciwnym razie typy WMI kwalifikują się na podstawie zadeklarowanych wartości kwalifikatora.

  • Podczas tworzenia własnych kwalifikatorów, należy poprzedzić nazwę kwalifikatora nazwą schematu.

    Celem tej reguły jest uniknięcie zamieszania z nowymi kwalifikatorami.

  • Można utworzyć jednorodne tablice kwalifikatorów.

    Poniższy przykład kodu pokazuje, jak tablice kwalifikatorów są określane za pomocą nawiasów klamrowych otaczających wartości.

    [StringArray{"hello", "there"}, SingleElementArray{3}]
    
  • Usługa WMI nie obsługuje typów automatyzacji niewymienionych w dokumentacji, takich jak VT_NULL. Aby uzyskać więcej informacji, zobacz typy danych MOF.

Poniższa procedura ułatwia dodanie kwalifikatora do właściwości za pomocą języka C++.

Aby zastosować kwalifikator przy użyciu języka C++

Poniższa procedura ułatwia zastosowanie kwalifikatora w plikach MOF.

Aby opisać słowo kluczowe lub identyfikator przy użyciu kwalifikatora MOF

  • Umieść kwalifikator w nawiasach przed słowem kluczowym lub identyfikatorem opisanym przez kwalifikator.

    Poniższy przykład kodu pokazuje, jak są używane kwalifikatory.

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

    W poniższym przykładzie opisano prawidłowe umieszczanie kwalifikatorów.

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