ValueMap- und Value-Qualifizierer
Eine Wertzuordnung ist ein Array, das mit einer Eigenschaft mit den Qualifizierern Value und ValueMap verknüpft ist.
Die -Eigenschaft fungiert als Index im Array und enthält einen Wert, der einen der Werte im Array darstellt. Mit MOF-Code können Sie über die folgenden Typen von Wertzuordnungen verfügen:
Arrayzuordnung zu einer ganzen Zahl.
Sie können ein Array mit dem Value-Qualifizierer definieren und das Array direkt mit einer ganzzahligen Eigenschaft verknüpfen, wie im folgenden Beispiel gezeigt:
[Values {"OK", "Error", "Degraded", "Unknown"}, Read] sint32 Status;In diesem Beispiel ist der Status-Eigenschaftswert ein Index im durch Value definierten Zeichenfolgenarray. Die -Eigenschaft kann nur Werte übernehmen, die den Ordnungspositionen im Value-Array minus 1 entsprechen. Wenn Sie beispielsweise Status auf "1" festlegen, wird der Wert "Error" (Fehler) angezeigt. Die Indexeigenschaft kann nur Werte verwenden, die Positionen im Value-Array entsprechen. Wenn das Array beispielsweise 10 Einträge enthält, kann die Indexeigenschaft von 0 bis 9, nicht von 30 oder 177.
Arrayzuordnung zu einer anderen Arrayzuordnung zu einer ganzen Zahl.
Wenn Sie einen Index erstellen möchten, der kein Ordnungssystem für die Zählung verwendet, verwenden Sie den ValueMap-Qualifizierer. Der ValueMap-Qualifizierer richtet ein weiteres Array ein, das ein beliebiges Indexnummerierungssystem enthält, wie im folgenden Beispiel gezeigt:
[ValueMap {"1", "3", "99", "0"}, Values {"OK", "Error", "Degraded", "Unknown"}, Read] sint32 Status;Obwohl Sie die Werte von ValueMap in Anführungszeichen platzieren müssen, berücksichtigt WMI die Werte als ganze Zahlen. Daher können Sie in diesem Beispiel die Status-Eigenschaft auf eine ganze Zahl im ValueMap-Satz festlegen: 1, 3, 99 oder 0. WMI ordnet jede ganze Zahl von einer Ordnungsposition im ValueMap-Zeichenfolgenarray einer entsprechenden Position im Value-Array zu. Wenn Sie z. B. Status auf 0 festlegen, wird "Unknown" (Unbekannt) angezeigt.
Arrayzuordnung zu einer anderen Arrayzuordnung zu einer Zeichenfolge.
Wenn Sie ihr Array nicht mit einer ganzen Zahl indizieren möchten, können Sie stattdessen eine Zeichenfolge verwenden, um einen der möglichen Werte in Ihrem Array zu speichern. Dazu müssen Sie sowohl ein Value- als auch ein ValueMap-Array definieren, die beide Zeichenfolgen enthalten, wie im folgenden Beispiel gezeigt:
[ValueMap {"OK", "Error", "Degraded", "Unknown"}, Values {"OK", "Error", "Degraded", "Unknown"}, Read] string Status;Bei einer Zeichenfolgeneigenschaft sind die tatsächlich zulässigen Werte der Eigenschaft die Einträge im ValueMap-Array. Beispielsweise können Sie Status auf "OK" oder "Unbekannt" festlegen.
Es liegt in der Verantwortung der Anwendung, die Vorteile von Zuordnungen auf nützliche Weise zu nutzen. Es liegt in der Hand des Anbieters, einen rechtlichen Bereich von Werten zu erzwingen.
Hinweise
Bestimmen Sie bei der Entscheidung, ob die Qualifizierer ValueMap Value oder / / BitMap BitValues verwendet werden, ob einer der angegebenen Werte gleichzeitig auftreten kann. Wenn mehrere gleichzeitige Werte vorhanden sein können, müssen Sie BitMap / BitValues verwenden. Wenn sich alle Werte gegenseitig ausschließen, sollten Sie die ValueMap / Value-Qualifizierer verwenden.