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