Standard-WMI-Qualifizierer
Im Folgenden sind die WMI-spezifischen Standardqualifizierer aufgeführt.
Zusatzvereinbarung
Datentyp: boolesch
Gilt für: Klassen
Gibt an, dass eine Klasse geänderte Qualifizierer enthält, die lokalisiert sind. Der Standardwert ist TRUE.
Die zugeordnete Klasse kann übersetzt werden. Um auf die übersetzte Version zuzugreifen, verwenden Sie den Gebietsschemabezeichner, um einen Namespacenamen zu erstellen.
Bypass_GetObject
Datentyp: boolesch
Gilt für: Methoden
Gibt an, dass der Methodenaufruf direkt an den ExecMethodAsync-Aufruf des Anbieters übergeben werden soll, anstatt dass der Anbieter zuerst getObject aufruft, um den Objektpfad zu überprüfen. Der Standardwert lautet FALSE. Die Verwendung von Bypass_GetObject kann die Leistung erheblich verbessern.
Stellen Sie vor der Verwendung von Bypass_GetObject sicher, dass keine der folgenden Aktionen ausgeführt wird:
- Leiten Sie eine Klasse von Ihrer Klasse ab.
- Überschreiben Sie die Methode, die über den Bypass_GetObject-Qualifizierer verfügt.
Die Nichtbeachtung dieser Vorsichtsmaßnahmen kann dazu führen, dass die Methodenimplementierung der übergeordneten Klasse anstelle der untergeordneten Klasse aufgerufen wird. Weitere Informationen finden Sie unter „Verwenden des Bypass_GetObject-Qualifizierers“.
CIM_Key
Datentyp: CIM_BOOLEAN
Gilt für: Eigenschaften
Gibt an, dass die zugeordnete Eigenschaft eine Schlüsseleigenschaft in CIM, aber nicht in WMI ist.
Datentyp: VT_BSTR
Gilt für: Eigenschaften, Methoden, Parameter
Enthält Text, der den Typ einer Eigenschaft beschreibt.
ClassContext
Datentyp: VT_BSTR
Gilt für: Klassen
Gibt an, dass eine Klasse Instanzen hat, die mit weiteren Informationen verbunden sind, welche dynamisch von einem Anbieter bereitgestellt werden.
Veraltet
Datentyp: CIM_BOOLEAN
Gilt für: Eigenschaften, Klassen
Gibt an, dass die Eigenschaft durch eine andere Eigenschaft ersetzt wurde.
Anzeige
Gilt für: Klassen, Eigenschaften
Die UUID der zugeordneten Klasse.
Datentyp: boolesch
Gilt für: Klassen, Eigenschaften
Gibt eine Klasse an, deren Instanzen dynamisch erstellt werden. Der Wert dieses Qualifizierers muss auf TRUE festgelegt werden.
DynProps
Datentyp: boolesch
Gilt für: Klassen, Instanzen
Gibt an, dass eine Instanz Werte enthält, die von dynamischen Eigenschaftenanbietern bereitgestellt werden. Der Standardwert ist TRUE.
Sie müssen diesen Qualifizierer für eine solche Instanz angeben. Nur der Wert TRUE ist zulässig.
Fest
Datentyp: CIM_BOOLEAN
Gilt für: Instanzen
Gibt an, dass sich der Wert dieser Eigenschaft während der Lebensdauer der Instanz nicht ändern kann.
ID
Datentyp: VT_I4
Gilt für: Eigenschaften, Parameter
Identifiziert und sequenziert eine Eigenschaft oder einen Methodenparameter eindeutig, wenn MOF-Anweisungen automatisch generiert werden.
Dieser Qualifizierer ist nur für Methodenparameter erforderlich. Beim Erstellen von Parametern für eine Methode sollten Klassen-Designer mit Id(0) für den ersten Parameter beginnen und jede aufeinanderfolgende ganze Zahl für jeden aufeinanderfolgenden Parameter verwenden. Wenn die ID-Qualifizierer unbeabsichtigt weggelassen werden, generiert der MOF-Compiler automatisch ID-Qualifizierer.
Implementiert
Datentyp: boolesch
Gilt für: Methoden
Gibt an, dass eine Methode über eine Implementierung verfügt, die von einem Anbieter bereitgestellt wird.
InstanceContext
Datentyp: VT_BSTR
Gilt für: Instanzen
Gibt an, dass eine Instanz Werte enthält, die von einem dynamischen Eigenschaftenanbieter bereitgestellt werden.
Der Wert wird an den Eigenschaftenanbieter als Argument an die IWbemPropertyProvider::GetProperty-Methode übergeben.
Gebietsschema
Datentyp: VT_BSTR
Gilt für: Klassen oder Instanzen
Gibt die Ursprungssprache für eine Klasse oder Instanz an. Weitere Informationen zu Gebietsschemawerten finden Sie unter Gebietsschemacodes.
NamespaceSecuritySDDL
Datentyp: Zeichenfolgenarray
Gilt für: Namespaceinstanzen
Gibt eine Sicherheitsbeschreibung für den Namespace im SDDL-Format an. Weitere Informationen finden Sie unter Festlegen der Namespacesicherheit beim Erstellen des Namespace. Die SDDL-Zeichenfolge wird von WMI verarbeitet, um die Namespacesicherheit einzurichten, aber nicht als Zeichenfolge gespeichert. Wenn keine Sicherheitsbeschreibung angegeben ist, wird die Standardsicherheit verwendet. Weitere Informationen finden Sie unter Festlegen von Namepace-Sicherheitsbeschreibungen.
Optional
Datentyp: boolesch
Gilt für: Parameter
Gibt an, dass ein Parameter nicht erforderlich ist und dass er über einen klug konzipierten Standardwert verfügt.
Berechtigungen
Datentyp: Zeichenfolgenarray
Gilt für: Eigenschaften, Methoden
Wertesatz, der verwendet wird, um den Client darüber zu informieren, welche Berechtigungen zum Erstellen von Instanzen, zum Ausfüllen von Eigenschaften oder zum Ausführen von Methoden erforderlich sind. Der Standardwert lautet FALSE.
PropertyContext
Datentyp: VT_BSTR
Gilt für: Eigenschaften
Gibt an, dass eine Instanzeigenschaft Werte enthält, die von dynamischen Eigenschaftenanbietern bereitgestellt werden.
Sie müssen diesen Qualifizierer für eine solche Eigenschaft angeben. Der Wert wird an den Eigenschaftenanbieter als Argument anIWbemPropertyProvider::GetProperty übergeben.
Anbieter
Datentyp: VT_BSTR
Gilt für: Klassen
Der Wert dieses Qualifizierers ist der Name des dynamischen Anbieters, der Klasseninstanzen bereitstellt und Instanzendaten aktualisiert. Dieser Name muss bei WMI registriert werden, indem eine Instanz der __Win32Provider-Klasse mit der Eigenschaft Name erstellt wird, die diesen Namen enthält. Wenn dieser Qualifizierer für eine Klasse angegeben wird, deren Instanzen dynamisch bereitgestellt werden, muss auch der dynamische Qualifizierer angegeben werden.
RequiresEncryption
Datentyp: boolesch
Gilt für: Namespaceinstanzen
Wenn diese Einstellung auf TRUE festgelegt ist, markiert RequiresEncryption einen Namespace, sodass Clientanwendungen und Skripts eine Verbindung mit verschlüsselter Authentifizierung herstellen müssen. Die Authentifizierungsebene muss in C++ auf RPC_C_AUTHN_LEVEL_PKT_PRIVACY festgelegt werden. In Skripts oder Visual Basic muss die Authentifizierungsebene auf WbemAuthenticationLevelPktPrivacy festgelegt werden. Weitere Informationen finden Sie unter Festlegen von Namepace-Sicherheitsbeschreibungen. Der Qualifizierer wird in MOF mit dem Pragma-Namespace-Präprozessorbefehl verwendet.
Weitere Informationen finden Sie unter Festlegen der Sicherheitsebene für Standardprozesse mit C++ oder Festlegen der Sicherheitsebene für Standardprozesse mithilfe von VBScript. Skriptauthentifizierungsebenen werden in WbemAuthenticationLevelEnum definiert.
Singleton
Datentyp: boolesch
Gilt für: Klassen
Legt eine Klasse fest, die nur eine Instanz haben kann und keine Schlüsseleigenschaften enthält.
Nur der Wert TRUE (Standard) ist zulässig.
Statisch
Datentyp: boolesch
Gilt für: Methoden
Gibt an, ob eine Methode mithilfe der Klassendefinition oder ihrer Instanzen aufgerufen werden kann.
Die Methode kann nicht von einer Instanz aufgerufen werden.
SubType
Datentyp: VT_BSTR
Gilt für: Eigenschaften
Gibt an, dass eine Eigenschaft vom Typ CIM_DATETIME ein Zeitintervall und nicht eine bestimmte Zeit darstellt.
Um die Eigenschaft als Intervall zu identifizieren, muss der Wert dieses Qualifizierers „Intervall“ lauten. Alle anderen Werte für diesen Qualifizierer sind für die zukünftige Verwendung reserviert.
UUID
Datentyp: Zeichenfolge
Gilt für: Klassen
Universally Unique Identifier, der auf die Klasse angewendet wird.
ClassVersion
Datentyp: Zeichenfolge
Gilt für: Klassen
Die Versionsnummer des Klassenobjekts. Der Standardwert ist NULL. Die Versionsnummer wird erhöht, wenn Änderungen an der Klasse vorgenommen werden.
WritePrivileges
Datentyp: Zeichenfolgenarray
Gilt für: Eigenschaften
Wertesatz, der angibt, welche Systemberechtigungen für einen erfolgreichen Schreibvorgang verfügbar und aktiviert sein müssen.
Bemerkungen
Gebietsschemacodes
Ein Gebietsschemacode hat die Form „MS_<Dreistellige Sprachen-ID>“. Beispielsweise ist das englische Gebietsschema MS_409. In der folgenden Tabelle sind die Sprachen-IDs aufgeführt.
Sprache | Sprachen-ID (hexadezimal) |
---|---|
Arabisch | 401 |
Portugiesisch (Brasilien) | 416 |
Chinesisch (vereinfacht) | 804 |
Chinesisch (traditionell) | 404 |
Tschechisch | 405 |
Dänisch | 406 |
Niederländisch | 413 |
Englisch (Standard) | 409 |
Finnisch | 40b |
Französisch | 40c |
Deutsch | 407 |
Griechisch | 408 |
Hebräisch | 40d |
Ungarisch | 40e |
Italienisch | 410 |
Japanisch | 411 |
Koreanisch | 412 |
Norwegisch | 414 |
Polnisch | 415 |
Portugiesisch (Portugal) | 816 |
Russisch | 419 |
Spanisch | c0a |
Schwedisch | 41D |
Türkisch | 41f |
Verwenden des Bypass_GetObject-Qualifizierers
Die Verwendung des Bypass_GetObject-Qualifizierers für eine Methode kann zu verwirrenden Ergebnissen führen.
Im folgenden Beispiel werden die Form- und Kreis-Klassen definiert. Beachten Sie, dass die Kreis-Klasse von der Form-Klasse abgeleitet wird.
class Shape
{
string Name;
uint32 DrawIt(); // - draws an irregular geometric shape
};
class Circle : Shape
{
uint32 DrawIt(); // - draws a circle
};
Der folgende Aufruf von ExecMethod verwendet ein Kreis-Objekt namens „MyCircle“, um einen Kreis zu zeichnen.
ExecMethod("Shape.Name='MyCircle'","DrawIt");
Im vorherigen Szenario ruft WMI GetObject auf; erkennt, dass "Shape.Name='MyCircle'" ein Kreis ist; und führt die Kreis-Implementierung von DrawIt aus. Wenn Sie jedoch den Bypass_GetObject-Qualifizierer für DrawIt verwenden, ruft WMI GetObject nicht auf, erkennt nicht, dass "Shape.Name='MyCircle'" ein Kreis ist, und führt die Form-Implementierung von DrawIt anstelle der Kreis--Implementierung von DrawIt aus.
Der folgende Aufruf von ExecMethod ruft immer die richtige Implementierung von DrawIt auf.
ExecMethod("Circle.Name='MyCircle'","DrawIt");
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
Windows Server 2008 |