Beschreiben eines Qualifizierers mit einer Qualifizierer-Variante

Eine Qualifizierer-Variante ist ein Flag, das weitere Informationen zu einem Qualifizierer beschreibt. Beispielsweise gibt der Eingeschränkte Qualifizierer an, dass WMI den zugeordneten Qualifizierer nicht an abgeleitete Klassen oder Instanzen weiterleiten soll. Sie können Varianten entweder mit MOF-Code oder programmgesteuert festlegen. Obwohl Sie eine Vielzahl von Effekten mit Varianten beschreiben können, besteht der Hauptzweck von Flavor-Flags darin, zu definieren, wie WMI Qualifizierer durch Vererbung weiterverbreitet.

WMI definiert mehrere Qualifizierer-Varianten, die Sie unabhängig vom Ursprung des Qualifizierers an einen beliebigen Qualifizierer anfügen können. Einige Varianten sind jedoch nicht für alle Qualifizierertypen geeignet. Die ToSubClass-Variante 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 Instanz verwendet wird.

Sie können Varianten verwenden, um eine Vielzahl verschiedener Effekte für Qualifizierer zu beschreiben. Beispielsweise kann flavor angeben, ob ein Qualifizierer lokalisiert werden kann. Einer der Hauptzwecke einer Qualifiziererart besteht jedoch darin, zu beschreiben, ob eine übergeordnete Klasse Qualifizierer an eine Unterklasse oder Klasseninstanz übergeben kann. Sie können auch Varianten verwenden, um zu bestimmen, ob eine Klasseneigenschaft einen Qualifizierer an eine Instanzeigenschaft übergibt. Verwenden Sie abschließend Flavors, 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 weiter verbreitet. Darüber hinaus sind Varianten, die Überschreibungsberechtigungen einrichten, nur gültig, wenn Sie auch die Varianten ToInstance oder ToSubClass festlegen.

Eine Variante kann einem Qualifizierer für eine gesamte MOF-Datei global zugewiesen werden, indem die folgende Syntax verwendet wird, in der Leerzeichen als Trennzeichen dienen, wenn mehrere Varianten angegeben werden.

Qualifier QualifierName : flavor1 <flavor2...>;

Globale Varianten gelten für alle nachfolgenden Verwendungen des Qualifizierers in der MOF-Datei. Globale Flavor-Anweisungen können an einer beliebigen Stelle in der Datei außerhalb eines Objektdeklarationsblocks auftreten. Auf Klassen-, Instanz- oder Eigenschaftenebene neu definierte Varianten überschreiben die globalen Flavordeklarationen für den Bereich dieses Objekts.

Sie können keine neue Variante definieren. Obwohl Sie einen neuen Qualifizierer erstellen können, verwenden Sie nur vorhandene Qualifizierer-Varianten, um Ihren neuen Qualifizierer zu beschreiben.

So definieren Sie Qualifizierer-Varianten in MOF

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

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

    [qualifier1 : flavor1 flavor2 flavor3, qualifier2 : flavor1]
    

Sie können Qualifizierer-Varianten nur in C++ programmgesteuert hinzufügen. Dieser Vorgang ist in der Skripterstellungs-API für WMInicht verfügbar, obwohl Sie einen neuen Qualifizierer hinzufügen können, indem Sie SWbemQualifierSet.Addaufrufen.

So weisen Sie eine Variante mit C++ zu