SYNTAX-Klausel
Das OBJECT-TYPE--Makros enthält eine SYNTAX-Klausel, die die Daten und den Typ für das MIB-Objekt definiert. Während der SNMP-Anbieter allgemeine Regeln für die Zuordnung von SYNTAX-Klauseln beachtet, folgt der Anbieter auch Regeln, die für mehrere Datentypen spezifisch sind.
Anmerkung
Weitere Informationen zum Installieren des Anbieters finden Sie unter Einrichten der WMI SNMP Environment.
Die folgenden Zuordnungsregeln gelten für alle in der folgenden Tabelle beschriebenen Datentypen:
- Die Textdarstellung der SYNTAX-Klausel ist dem CIM-Eigenschaftsqualifizierer textual_conventionzugeordnet.
- Die benannte Typdefinition in der SYNTAX-Klausel ist dem CIM-Eigenschaftsqualifizierer object_syntaxzugeordnet. Diese Zuordnung unterscheidet sich je nach Datentyp. Weitere Informationen finden Sie in den Zuordnungsbeschreibungen.
- Der SNMP-Typ, der beim Codieren von SNMPv1- und SNMPv2C-Protokollframes verwendet wird, ist dem CIM-Eigenschaftsqualifizierer Codierungzugeordnet.
- Der CIM-Eigenschaftsqualifizierer cimtype enthält die Textdarstellung, die den zugrunde liegenden CIM-Protokollwert formatiert.
In der folgenden Tabelle sind Datentypen aufgeführt, die bestimmte Regeln aufweisen, die das Verhalten der Anbieterzuordnung steuern.
SNMP-Datentyp | Beschreibung |
---|---|
primitiven Typs | Einer der grundlegenden Datentypen, die in der Struktur von Verwaltungsinformationen (SMI) definiert sind, dokumentiert RFC 1213 und RFC 1903. |
Textkonvention | Typdefinition, die mithilfe der expliziten Verwendung des SNMPv2C-TEXTUAL-CONVENTION Makros generiert oder mithilfe eines benannten Typs generiert wird. Eine Textkonvention weist einem vorhandenen Datentyp einen Namen und in einigen Fällen einen Wertebereich zu. |
benannten Typ | Benannter Verweis auf einen primitiven Typ, eine Textkonvention oder einen eingeschränkten Typ. |
Eingeschränkter Typ | Primitiver Typ, benannter Typ oder Textkonvention, der durch einen in den SMI-Dokumenten RFC 1213 und RFC 1903 definierten Untertypmechanismus eingeschränkt wurde. |
Grundtyp
Der Grundtyp ist einer der grundlegenden Datentypen, die in den SMI-Dokumenten RFC 1213 und RFC 1903 definiert sind. SNMP-Grundtypen werden CIM-definierten Typen zugeordnet. In der folgenden Tabelle ist die Zuordnung aufgeführt, die auftritt, wenn die SYNTAX-Klausel explizit auf einen Grundtyp für SNMPv1 verweist. Die textual_convention, Codierungund object_syntax Qualifizierer sind immer identisch mit dem MIB-Typ und der Standardwert ist immer NULL-.
MIB-Typ | CIM-Variantentyp | Cimtype-Wert |
---|---|---|
GANZE ZAHL | VT_I4 | sint32- |
OKTETTZEICHENFOLGE | VT_BSTR | Zeichenfolge |
OBJECTIDENTIFIER | VT_BSTR | Zeichenfolge |
NULL | VT_NULL | Nicht unterstützt |
IpAddress | VT_BSTR | Zeichenfolge |
Zähler | VT_I4 | uint32- |
Messgerät | VT_I4 | uint32- |
TimeTicks | VT_I4 | uint32- |
Undurchsichtig | VT_BSTR | Zeichenfolge |
NetworkAddress | VT_BSTR | Zeichenfolge |
Der Anbieter ignoriert das OBJECT-TYPE Makro, wenn sich die SYNTAX-Klausel auf NULL-bezieht, entweder explizit oder über eine benannte Typzuweisung. In der folgenden Tabelle ist die Zuordnung aufgeführt, die auftritt, wenn die SYNTAX-Klausel explizit auf einen Grundtyp für SNMPv2 verweist. Die textual_convention, Codierungund object_syntax Qualifizierer sind immer identisch mit dem MIB-Typ und der Standardwert ist immer NULL-.
MIB-Typ | CIM-Variantentyp | Cimtype-Wert |
---|---|---|
GANZE ZAHL | VT_I4 | sint32- |
OKTETTZEICHENFOLGE | VT_BSTR | Zeichenfolge |
OBJEKTBEZEICHNER | VT_BSTR | Zeichenfolge |
IpAddress | VT_BSTR | Zeichenfolge |
Counter32 | VT_I4 | uint32- |
Gauge32 | VT_I4 | uint32- |
Nicht signiert32 | VT_I4 | uint32- |
Integer32 | VT_I4 | sint32- |
Counter64 | VT_BSTR | uint64- |
TimeTicks | VT_I4 | uint32- |
Undurchsichtig | VT_BSTR | Zeichenfolge |
Benannter Typ
SNMP benannte Typen werden CIM-definierten Typen zugeordnet. Wenn sich die SYNTAX-Klausel auf einen Grundtyp, textbezogene Konventionoder eingeschränkten Typs durch eine Typzuweisungsableitung bezieht, verwenden Sie diese Typen, um zu bestimmen, welche Zuordnungsprozeduren gelten.
Wenn durch Ableitung der Typzuweisungsregeln eine eingeschränkte Typdefinition auftritt:
- Und wenn Sie durch eine weitere Ableitung auf eine der textbezogenen Konventionen stoßen, die in TEXTUAL-CONVENTION Makro-aufgeführt sind, wenden Sie dann die Zuordnungsregeln für eingeschränkte Typen und Textkonventionen an.
- Andernfalls wenden Sie die Zuordnungsregeln für grundtyptypen und eingeschränkte Typen an, wenn sie auf einen der in einer der Grundtypen aufgeführten Grundtypen stoßen.
Wenn sie auf eine der textbezogenen Konventionen stoßen, die in TEXTUAL_CONVENTION Makro-aufgeführt sind, wenden Sie die Zuordnungsregeln für Textkonventionen an.
Wenn Sie auf einen der in einer der Grundtypen aufgeführten Grundtypen stoßen, wenden Sie die Zuordnungsregeln für primitive Typen an.
Anmerkung
Klassen, die Eigenschaftstypen enthalten, die nicht der oben beschriebenen Zuordnung entsprechen, sind ungültig. In diesem Fall gibt der Anbieter einen Fehler zurück, wenn und wann der Anbieter beim Ausführen einer Instanzabruffunktion den Abruf einer Klassendefinition anfordert.
Eingeschränkter Typ
Ein eingeschränkter Typ ist ein primitiver Typ, benannter Typ oder eine textbezogene Konvention, die durch einen in den SMI-Dokumenten RFC 1213 und RFC 1903 definierten Untertypmechanismus eingeschränkt wurde. Beim Auftreten von Untertypisierungen sind zusätzliche CIM-Qualifizierer erforderlich, um die Untertypwerte anzugeben. Die Definition des benannten Typs in der SYNTAX-Klausel wird dem CIM-Eigenschaftsqualifizierer object_syntax bis zu, jedoch nicht einschließlich der Einschränkungen des Untertyps zugeordnet.
Untertypen können einem der folgenden Formate folgen:
Aufgezählte GANZE ZAHL
Der CIM-Eigenschaftsqualifizierer Enumeration gibt die aufgezählten Werte an. Dieser Qualifizierer wird als Zeichenfolge dargestellt, die eine durch Trennzeichen getrennte Liste signierter 32-Bit-Ganzzahlwerte enthält. In der folgenden Tabelle sind die Zuordnungstypen aufgeführt. Der Standardwert ist immer NULL-.
Eingeschränkter MIB-Typ | CIM-Variantentyp | CIM-Qualifizierer |
---|---|---|
Aufgezählte GANZE ZAHL | VT_BSTR |
textual_convention: enumeratedinteger Codierung: GANZE ZAHL cimtype: string |
BITS
Der CIM-Eigenschaftsqualifizierer Bits gibt die aufgezählten Werte an. Dieser Qualifizierer wird als Zeichenfolge dargestellt, die eine durch Trennzeichen getrennte Liste signierter 32-Bit-Ganzzahlwerte enthält. In der folgenden Tabelle sind die Zuordnungstypen aufgeführt. Der Standardwert ist immer NULL-.
Eingeschränkter MIB-Typ | CIM-Variantentyp | CIM-Qualifizierer |
---|---|---|
BITS | VT_ARRAY | VT_BSTR |
textual_convention: Bits Codierung: OCTETSTRING cimtype: string |
Variable Länge
Wenn die SYNTAX-Klausel auf einen primitiven Typ, benannten Typ oder eine textbezogene Konvention verweist, die als OCTET STRING oder Opaque mit variabler Länge subtypisiert wird, gibt der CIM-Eigenschaftsqualifizierer variable_length die minimalen, maximalen und festen Werte an, die der Typdefinition zugeordnet sind. Dieser Qualifizierer wird als Zeichenfolge im folgenden Format implementiert, in dem die Werte der Variablenlänge als nicht signierte 32-Bit-Ganzzahlen dargestellt werden.
(((0.9) .. (0.9)) | (0.9))(, (((0.9) .. (0.9)) | (0.9)))*
Feste Länge
Wenn die SYNTAX-Klausel auf einen grundtyp, benannten Typ oder eine Textkonvention verweist, die als OCTET STRING oder Opaque mit fester Länge subtypisiert wird, gibt der CIM-Eigenschaftsqualifizierer fixed_length den Wert mit fester Länge an. Dieser Qualifizierer wird als nicht signierter ganzzahliger 32-Bit-Wert dargestellt.
Bereich
Wenn die SYNTAX-Klausel auf einen primitiven Typ, benannten Typ oder eine Textkonvention verweist, die als bereichsbezogene oder festwertige INTEGER- oder Gauge-Eigenschaft subtypisiert wird, gibt der CIM-Eigenschaftsqualifizierer variable_value die bereichsbezogenen und festen Werte an, die der Typdefinition zugeordnet sind. Dieser Qualifizierer wird als Zeichenfolge im folgenden Format implementiert, in dem die Werte für Bereich und feste Länge als nicht signierte 32-Bit-Ganzzahlen dargestellt werden.
(((0.9)..(0.9))|(0.9))(,(((0.9)..(0.9))|(0.9)))*
Beispielcode
Im folgenden Beispiel wird ein aufgezählter INTEGER-Untertyp beschrieben.
Status := INTEGER {
up(1),
down(2),
testing(3)
}
In diesem Beispiel wird Folgendes zugeordnet:
enumeration("up(1),down(2),testing(3)")
Im folgenden Codebeispiel wird ein BITS-Untertyp beschrieben.
Status := BITS {
up(1),
down(2),
testing(3)
}
Im folgenden Codebeispiel wird Folgendes zugeordnet:
bits("up(1),down(2),testing(3)")
Im folgenden Codebeispiel wird ein Untertyp mit variabler Länge beschrieben.
MySnmpOSIAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "*1x:/1x:"
STATUS current
DESCRIPTION
"Represents an OSI transport-address:
octets contents encoding
1 length of NSAP 'n' as an unsigned-integer
(either 0 or from 3 to 20)
2..(n+1) NSAP concrete binary representation
(n+2)..m TSEL string of (up to 64) octets
"
SYNTAX OCTET STRING (SIZE (1|4..85))
In diesem Beispiel wird Folgendes zugeordnet:
display_hint("*1x:/1x:"),
encoding("OCTETSTRING"),
textual_convention("OCTETSTRING"),
variable_length ("1,4..85")
Im folgenden Beispiel wird ein Untertyp mit fester Länge beschrieben.
IPXADDRESS := OCTET STRING (SIZE (6))
In diesem Beispiel wird Folgendes zugeordnet:
fixed_length(6)
Im folgenden Beispiel wird ein Bereichsuntertyp beschrieben.
Status := INTEGER (10..20|8)
In diesem Beispiel wird Folgendes zugeordnet:
variable_value("10..20,8")