Freigeben über


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")