Freigeben über


Beschreiben eines Qualifizierers mit einem Qualifizierertyp

Ein Qualifizierertyp ist ein Flag, der weitere Informationen zu einem Qualifizierer beschreibt. Beispielsweise gibt der Qualifizierertyp Restricted an, dass WMI den zugeordneten Qualifizierer nicht an abgeleitete Klassen oder Instanzen weitergeben soll. Sie können Varianten entweder mit MOF-Code oder programmgesteuert festlegen. Sie können zwar eine Vielzahl von Effekten mit Geschmacksrichtungen beschreiben, aber der Standard Zweck von Typflags besteht darin, zu definieren, wie WMI Qualifizierer durch Vererbung weitergibt.

WMI definiert mehrere Qualifizierertypen, die Sie unabhängig vom Ursprung des Qualifizierers an jeden Qualifizierer anfügen können. Einige Varianten sind jedoch nicht für alle Qualifizierertypen geeignet. Der Typ ToSubClass eignet sich beispielsweise nur für Qualifizierer, die für eine Klasse definiert sind. Sie können ToSubClass nicht an einen Qualifizierer anfügen, der zum Beschreiben einer Instance verwendet wird.

Sie können Typen verwenden, um eine Vielzahl verschiedener Effekte für Qualifizierer zu beschreiben. Beispielsweise kann der Typ angeben, ob ein Qualifizierer lokalisiert werden kann. Einer der Standardzwecke eines Qualifizierertyps besteht jedoch darin, zu beschreiben, ob eine übergeordnete Klasse Qualifizierer an eine Unterklasse oder Klasse Instanz übergeben kann. Sie können auch Varianten verwenden, um zu bestimmen, ob eine Klasseneigenschaft einen Qualifizierer an eine Instanzeigenschaft übergibt. Verwenden Sie schließlich Varianten, um anzugeben, ob eine Unterklasse den ursprünglichen Wert eines geerbten Qualifizierers überschreiben kann. Qualifizierer, die Sie für eine Klasse oder Instanz deklarieren, werden jedoch nicht an die Eigenschaften dieser Klasse oder Instanz weitergegeben. Darüber hinaus sind Varianten, die Außerkraftsetzungsberechtigungen einrichten, nur gültig, wenn Sie auch die Typen ToInstance oder ToSubClass festlegen.

Ein Typ kann einem Qualifizierer für eine gesamte MOF-Datei mithilfe der folgenden Syntax global zugewiesen werden, in der Leerzeichen als Trennzeichen fungiert, wenn mehrere Typen angegeben werden.

Qualifier QualifierName : flavor1 <flavor2...>;

Globale Typen gelten für alle nachfolgenden Verwendungen des Qualifizierers in der MOF-Datei. Globale Typen-Anweisungen können überall in der Datei außerhalb eines Objektdeklarationsblocks auftreten. Typen, die auf Klassen-, Instanz- oder Eigenschaftenebene neu definiert wurden, überschreiben die globalen Typendeklarationen für den Bereich dieses Objekts.

Sie können keinen neuen Typen definieren. Obwohl Sie einen neuen Qualifizierer erstellen können, verwenden Sie nur vorhandene Qualifizierertypen , um Ihren neuen Qualifizierer zu beschreiben.

So definieren Sie Qualifizierertypen in MOF

  • Deklarieren Sie die Varianten, die einen bestimmten Qualifizierer beschreiben, nach dem Qualifizierernamen zwischen den Qualifiziererklammern. Verwenden Sie Leerzeichen als Trennzeichen zwischen mehreren Typen.

    Das folgende Beispiel zeigt das Muster zum Anfügen vordefinierter Qualifizierer.

    [qualifier1 : flavor1 flavor2 flavor3, qualifier2 : flavor1]
    

Sie können Qualifizierertypen nur programmgesteuert in C++ hinzufügen. Dieser Vorgang ist in der Skript-API für WMI nicht verfügbar, obwohl Sie einen neuen Qualifizierer hinzufügen können, indem Sie SWbemQualifierSet.Add aufrufen.

So weisen Sie einen Typen mit C++ zu

  • Rufen Sie die Methode IWbemQualifierSet::Put auf, wobei der Parameter lFlavor auf eine der für die Methode definierten Konstanten festgelegt ist.