Delen via


SYNTAXIS-component

De macro OBJECT-TYPE bevat een SYNTAX-component waarmee de gegevens en het type voor het MIB-object worden gedefinieerd. Hoewel de SNMP-provider algemene regels voor het toewijzen van SYNTAX-componenten observeert, volgt de provider ook regels die specifiek zijn voor verschillende gegevenstypen.

Notitie

Zie De WMI SNMP-omgeving instellenvoor meer informatie over het installeren van de provider.

De volgende toewijzingsregels zijn van toepassing op alle gegevenstypen die in de onderstaande tabel worden beschreven:

  • De tekstuele weergave van de syntaxiscomponent wordt toegewezen aan de CIM-eigenschapskwalificatie textual_convention.
  • De definitie van het benoemde type in de SYNTAX-component wordt toegewezen aan de kwalificatie van de CIM-eigenschap object_syntax. Deze toewijzing verschilt, afhankelijk van het gegevenstype. Zie de toewijzingsbeschrijvingen voor meer informatie.
  • Het SNMP-type dat wordt gebruikt bij het coderen van SNMPv1- en SNMPv2C-protocolframes, wordt toegewezen aan de CIM-eigenschapskwalificatie coderings-.
  • De kwalificatie van de CIM-eigenschap cimtype bevat de tekstuele weergave waarmee de onderliggende CIM-protocolwaarde wordt opgemaakt.

De volgende tabel bevat gegevenstypen met specifieke regels die het toewijzingsgedrag van de provider bepalen.

SNMP-gegevenstype Beschrijving
primitief type Een van de basisgegevenstypen die zijn gedefinieerd in de Structuur van Management Information (SMI) documenten RFC 1213 en RFC 1903.
tekstconventie Typedefinitie die wordt gegenereerd via het expliciete gebruik van de SNMPv2C-TEXTUAL-CONVENTION macro of gegenereerd via het gebruik van een benoemd type. Een tekstconventie wijst een naam en in sommige gevallen een bereik met waarden toe aan een bestaand gegevenstype.
benoemd type Benoemde verwijzing naar een primitief type, tekstconventie of beperkt type.
beperkt type Primitief type, benoemd type of tekstconventie die is beperkt door een subtypemechanisme dat is gedefinieerd in de SMI-documenten RFC 1213 en RFC 1903.

Primitief type

Het primitieve type is een van de basisgegevenstypen die zijn gedefinieerd in de structuur van managementinformatie (SMI) documenten RFC 1213 en RFC 1903. Primitieve SNMP-typen worden toegewezen aan door CIM gedefinieerde typen. De volgende tabel bevat de toewijzing die optreedt wanneer de SYNTAX-component expliciet verwijst naar een primitief type voor SNMPv1. De textual_convention, coderings-en object_syntax kwalificatie zijn altijd hetzelfde als het MIB-type en de standaardwaarde is altijd NULL-.

MIB-type CIM-varianttype cimtypewaarde
GEHEEL GETAL VT_I4 sint32
OCTETSTRING VT_BSTR tekenreeks
OBJECTIDENTIFIER VT_BSTR tekenreeks
NUL VT_NULL Niet ondersteund
IpAddress VT_BSTR tekenreeks
Toonbank VT_I4 uint32-
Meten VT_I4 uint32-
TimeTicks VT_I4 uint32-
Ondoorzichtig VT_BSTR tekenreeks
NetworkAddress VT_BSTR tekenreeks

De provider negeert de OBJECT-TYPE macro wanneer de SYNTAX-component verwijst naar NULL-, expliciet of via een benoemde typetoewijzing. De volgende tabel bevat de toewijzing die optreedt wanneer de SYNTAX-component expliciet verwijst naar een primitief type voor SNMPv2. De textual_convention, coderings-en object_syntax kwalificatie zijn altijd hetzelfde als het MIB-type en de standaardwaarde is altijd NULL-.

MIB-type CIM-varianttype cimtypewaarde
GEHEEL GETAL VT_I4 sint32
OCTET-TEKENREEKS VT_BSTR tekenreeks
OBJECT-ID VT_BSTR tekenreeks
IpAddress VT_BSTR tekenreeks
Teller32 VT_I4 uint32-
Meter32 VT_I4 uint32-
Niet-ondertekend32 VT_I4 uint32-
Geheel getal32 VT_I4 sint32
Teller64 VT_BSTR uint64-
TimeTicks VT_I4 uint32-
Ondoorzichtig VT_BSTR tekenreeks

Benoemd type

SNMP benoemde typen worden toegewezen aan door CIM gedefinieerde typen. Wanneer de syntaxiscomponent verwijst naar een primitief type, tekstconventieof beperkt type via een typetoewijzingsde afleiding, gebruikt u deze typen om te bepalen welke toewijzingsprocedures van toepassing zijn.

  • Als u door de afleiding van de typetoewijzingsregels een definitie van een beperkt type tegenkomt:

    • En als u, via verdere afleiding, een van de tekstconventies tegenkomt die worden vermeld in TEXTUAL-CONVENTION Macro-, past u de toewijzingsregels toe voor beperkte typen en tekstconventies.
    • Als u anders een van de primitieve typen tegenkomt die worden vermeld in een primitieve typetabel, past u de toewijzingsregels toe voor primitieve typen en beperkte typen.
  • Als u een van de tekstconventies tegenkomt die worden vermeld in TEXTUAL_CONVENTION Macro, past u de toewijzingsregels toe voor tekstconventies.

  • Als u een van de primitieve typen tegenkomt die worden vermeld in een primitieve typetabel, past u de toewijzingsregels toe voor primitieve typen.

Notitie

Klassen met eigenschapstypen die niet voldoen aan de hierboven beschreven toewijzing, zijn niet geldig. In dit geval retourneert de provider een fout als en wanneer de provider het ophalen van een klassedefinitie aanvraagt tijdens het uitvoeren van een functie voor het ophalen van een exemplaar.

Beperkt type

Een beperkt type is een primitief type, benoemd type of tekstconventie die is beperkt door een subtypemechanisme dat is gedefinieerd in de SMI-documenten RFC 1213 en RFC 1903. Wanneer subtyping plaatsvindt, zijn aanvullende CIM-kwalificatieprogramma's vereist om de subtypewaarden op te geven. De definitie van het benoemde type in de SYNTAX-component wijst exacte bewoordingen toe aan de CIM-eigenschapskwalificatie object_syntax tot, maar niet inclusief de beperkingen van het subtype.

Subtypen kunnen een van de volgende indelingen volgen:

  • Geïnventariseerd GEHEEL GETAL

    De classificatie van de eigenschap CIM opsomming geeft de opgesomde waarden op. Deze kwalificatie wordt weergegeven als een tekenreeks die een door komma's gescheiden lijst met ondertekende 32-bits geheel getalwaarden bevat. De volgende tabel bevat de toewijzingstypen. De standaardwaarde is altijd NULL-.

Beperkt MIB-type CIM-varianttype CIM-kwalificaties
Geïnventariseerd GEHEEL GETAL VT_BSTR textual_convention: enumeratedinteger
coderings-: INTEGER
cimtype: tekenreeks
  • BITS

    De kwalificatie van de CIM-eigenschap bits geeft de geïnventariseerd waarden op. Deze kwalificatie wordt weergegeven als een tekenreeks die een door komma's gescheiden lijst met ondertekende 32-bits geheel getalwaarden bevat. De volgende tabel bevat de toewijzingstypen. De standaardwaarde is altijd NULL-.

Beperkt MIB-type CIM-varianttype CIM-kwalificaties
BITS VT_ARRAY | VT_BSTR textual_convention: bits
codering: OCTETSTRING
cimtype: tekenreeks
  • Variabele lengte

    Wanneer de SYNTAX-component verwijst naar een primitief type, benoemd type of tekstconventie die als een OCTET-tekenreeks met variabele lengte of ondoorzichtig is getypt, geeft de CIM-eigenschapskwalificatie variable_length de minimum-, maximum- en vaste lengte-waarden op die zijn gekoppeld aan de typedefinitie. Deze kwalificatie wordt geïmplementeerd als een tekenreeks in de volgende indeling waarbij de waarden voor de lengte van de variabele worden weergegeven als niet-ondertekende 32-bits gehele getallen.

    (((0.9) .. (0.9)) | (0.9))(, (((0.9) .. (0.9)) | (0.9)))*
    
  • Vaste lengte

    Wanneer de SYNTAX-component verwijst naar een primitief type, benoemd type of tekstconventie die als een OCTET-tekenreeks met vaste lengte of ondoorzichtig is getypt, geeft de CIM-eigenschap kwalificatie fixed_length de waarde met vaste lengte op. Deze kwalificatie wordt weergegeven als een niet-ondertekende 32-bits geheel getalwaarde.

  • Bereik

    Wanneer de syntaxiscomponent verwijst naar een primitief type, benoemd type of tekstuele conventie die als een bereik of vaste waarde INTEGER of meter is getypt, geeft de CIM-eigenschap kwalificatie variable_value de bereik- en vaste waarden die aan de typedefinitie zijn gekoppeld. Deze kwalificatie wordt geïmplementeerd als een tekenreeks in de volgende indeling, waarbij het bereik en de waarden met een vaste lengte worden weergegeven als niet-ondertekende 32-bits gehele getallen.

    (((0.9)..(0.9))|(0.9))(,(((0.9)..(0.9))|(0.9)))*
    

Voorbeeldcode

In het volgende voorbeeld wordt een geïnventariseerd subtype INTEGER beschreven.

Status := INTEGER {
up(1),
down(2),
testing(3)
}

In dit voorbeeld wordt het volgende toegewezen:

enumeration("up(1),down(2),testing(3)")

In het volgende codevoorbeeld wordt een BITS-subtype beschreven.

Status := BITS {
up(1),
down(2), 
testing(3)
}

Het volgende codevoorbeeld wordt toegewezen aan:

bits("up(1),down(2),testing(3)")

In het volgende codevoorbeeld wordt een subtype met variabele lengte beschreven.

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 dit voorbeeld wordt het volgende toegewezen:

display_hint("*1x:/1x:"),
encoding("OCTETSTRING"),
textual_convention("OCTETSTRING"),
variable_length ("1,4..85")

In het volgende voorbeeld wordt een subtype met een vaste lengte beschreven.

IPXADDRESS := OCTET STRING (SIZE (6))

In dit voorbeeld wordt het volgende toegewezen:

fixed_length(6)

In het volgende voorbeeld wordt een subtype bereik beschreven.

Status := INTEGER (10..20|8)

In dit voorbeeld wordt het volgende toegewezen:

variable_value("10..20,8")