Aracılığıyla paylaş


SÖZDIZIMI Yan Tümcesi

OBJECT-TYPE makro, MIB nesnesinin verilerini ve türünü tanımlayan bir SYNTAX yan tümcesi içerir. SNMP Sağlayıcısı SÖZ DIZIMI yan tümcelerini eşlemek için genel kuralları gözlemlese de, sağlayıcı çeşitli veri türlerine özgü kuralları da izler.

Not

Sağlayıcıyı yükleme hakkında daha fazla bilgi için bkz. WMI SNMP Ortamıayarlama.

Aşağıdaki eşleme kuralları aşağıdaki tabloda açıklanan tüm veri türleri için geçerlidir:

  • SÖZ DIZIM yan tümcesinin metinsel gösterimi, textual_conventionCIM özellik niteleyicisi ile eşler.
  • SÖZ DIZIM yan tümcesindeki adlandırılmış tür tanımı, object_syntaxCIM özellik niteleyicisi ile eşler. Bu eşleme, veri türüne bağlı olarak farklılık gösterir. Daha fazla bilgi için eşleme açıklamalarına bakın.
  • SNMPv1 ve SNMPv2C protokol çerçevelerini kodlamak için kullanılan SNMP türü CIM özellik niteleyicisine eşler kodlama.
  • Cimtype cimtype CIM özellik niteleyicisi, temel alınan CIM protokol değerini biçimlendiren metinsel gösterimi içerir.

Aşağıdaki tabloda, sağlayıcı eşleme davranışını yöneten belirli kurallara sahip veri türleri listelenmiştir.

SNMP veri türü Açıklama
Temel tür Yönetim Bilgilerinin Yapısı (SMI) belgelerinde tanımlanan temel veri türlerinden biri RFC 1213 ve RFC 1903.
Metin kuralı SNMPv2C TEXTUAL-CONVENTION makrosunun açık kullanımıyla oluşturulan veya adlandırılmış bir türün kullanımıyla oluşturulan tür tanımı. Metin kuralı, var olan bir veri türüne bir ad ve bazı durumlarda bir değer aralığı atar.
Adlandırılmış tür İlkel türe, metin kuralına veya kısıtlanmış türe adlandırılmış başvuru.
Kısıtlanmış tür RFC 1213 ve RFC 1903 SMI belgelerinde tanımlanan bazı alt yazma mekanizmaları tarafından kısıtlanmış ilkel tür, adlandırılmış tür veya metin kuralı.

İlkel Tür

İlkel tür, Rfc 1213 ve RFC 1903 Yönetim Bilgilerinin Yapısı (SMI) belgelerinde tanımlanan temel veri türlerinden biridir. SNMP ilkel türleri CIM tanımlı türlere eşler. Aşağıdaki tabloda, SÖZ DIZIMI yan tümcesi SNMPv1 için ilkel bir türe açıkça başvurduğunda oluşan eşleme listelenir. textual_convention, kodlamave object_syntax niteleyicileri her zaman MIB türüyle aynıdır ve varsayılan değer her zaman NULL olur.

MIB türü CIM değişken türü cimtype değeri
TAM SAYI VT_I4 sint32
OCTETSTRING VT_BSTR dize
OBJECTIDENTIFIER VT_BSTR dize
SIFIR VT_NULL Desteklenmiyor
IpAddress VT_BSTR dize
Sayaç VT_I4 uint32
Ölçer VT_I4 uint32
TimeTicks VT_I4 uint32
Donuk VT_BSTR dize
NetworkAddress VT_BSTR dize

SÖZ DIZIMI yan tümcesi NULLaçıkça veya adlandırılmış tür ataması aracılığıyla başvurduğunda sağlayıcı OBJECT-TYPE makroyu yoksayar. Aşağıdaki tabloda, SÖZ DIZIMİ yan tümcesi SNMPv2 için ilkel bir türe açıkça başvurduğunda oluşan eşleme listelenir. textual_convention, kodlamave object_syntax niteleyicileri her zaman MIB türüyle aynıdır ve varsayılan değer her zaman NULL olur.

MIB türü CIM değişken türü cimtype değeri
TAM SAYI VT_I4 sint32
OCTET DIZESI VT_BSTR dize
NESNE TANıMLAYıCıSı VT_BSTR dize
IpAddress VT_BSTR dize
Sayaç32 VT_I4 uint32
Ölçer32 VT_I4 uint32
İmzasız32 VT_I4 uint32
Tamsayı32 VT_I4 sint32
Sayaç64 VT_BSTR uint64
TimeTicks VT_I4 uint32
Donuk VT_BSTR dize

Adlandırılmış Tür

SNMP adlı türler CIM tanımlı türlere eşler. SÖZ DIZIMİ yan tümcesi, bir temel türe başvurduğunda, metin kuralı veya tür ataması türetme yoluyla kısıtlanmış tür , hangi eşleme yordamlarının geçerli olduğunu belirlemek için bu türleri kullanın.

  • Tür atama kurallarının türetilmesiyle kısıtlanmış bir tür tanımıyla karşılaşırsanız:

    • Daha fazla türetme yoluyla, TEXTUAL-CONVENTION Makro'nde listelenen metin kurallarından biriyle karşılaşırsanız, kısıtlanmış türler ve metin kuralları için eşleme kurallarını uygulayın.
    • Aksi takdirde, ilkel tür tablolarından birinde listelenen ilkel türlerden biriyle karşılaşırsanız, ilkel türler ve kısıtlanmış türler için eşleme kurallarını uygulayın.
  • TEXTUAL_CONVENTION Makro'nde listelenen metin kurallarından biriyle karşılaşırsanız, metin kuralları için eşleme kurallarını uygulayın.

  • İlkel tür tablolarından birinde listelenen ilkel türlerden biriyle karşılaşırsanız, ilkel türler için eşleme kurallarını uygulayın.

Not

Yukarıda açıklanan eşlemeye uymayan özellik türlerini içeren sınıflar geçerli değildir. Bu durumda sağlayıcı, örnek alma işlevini yürütürken bir sınıf tanımının alınmasını istediğinde ve istediğinde bir hata döndürür.

Kısıtlanmış Tür

Kısıtlanmış tür, RFC 1213 ve RFC 1903 SMI belgelerinde tanımlanan bazı alt yazma mekanizmaları tarafından kısıtlanmış ilkel bir tür, adlandırılmış tür veya metin kuralıdır. Alt stil oluşturulurken, alt tür değerlerini belirtmek için ek CIM niteleyicileri gerekir. SÖZ DIZIMİ yan tümcesindeki adlandırılmış tür tanımı, cim özellik niteleyicisi ile tam object_syntax eşler, ancak alt türün kısıtlamaları dahil değildir.

Alt türlerde aşağıdaki biçimlerden herhangi biri kullanılabilir:

  • Numaralandırılmış TAMSAYı

    CIM özellik niteleyicisi numaralandırma numaralandırılmış değerleri belirtir. Bu niteleyici, imzalı 32 bit tamsayı değerlerinin virgülle ayrılmış listesini içeren bir dize olarak temsil edilir. Aşağıdaki tabloda eşleme türleri listelenmiştir. Varsayılan değer her zaman NULL .

Kısıtlanmış MIB türü CIM değişken türü CIM niteleyicileri
Numaralandırılmış TAMSAYı VT_BSTR textual_convention: enumeratedinteger
kodlama: INTEGER
cimtype: string
  • BİT

    CIM özellik niteleyicisi bitler numaralandırılmış değerleri belirtir. Bu niteleyici, imzalı 32 bit tamsayı değerlerinin virgülle ayrılmış listesini içeren bir dize olarak temsil edilir. Aşağıdaki tabloda eşleme türleri listelenmiştir. Varsayılan değer her zaman NULL .

Kısıtlanmış MIB türü CIM değişken türü CIM niteleyicileri
BİT VT_ARRAY | VT_BSTR textual_convention: bitler
kodlama: OCTETSTRING
cimtype: string
  • Değişken uzunluklu

    SÖZ DIZIMİ yan tümcesi değişken uzunlukta OCTET STRING veya Opak olarak alt yazılan ilkel bir türe, adlandırılmış türe veya metin kuralına başvurduğunda, CIM özellik niteleyicisi variable_length tür tanımıyla ilişkili en düşük, en büyük ve sabit uzunluklu değerleri belirtir. Bu niteleyici, değişken uzunluklu değerlerin işaretsiz 32 bit tamsayılar olarak temsil edildiği aşağıdaki biçimde bir dize olarak uygulanır.

    (((0.9) .. (0.9)) | (0.9))(, (((0.9) .. (0.9)) | (0.9)))*
    
  • Sabit uzunluklu

    SÖZ DIZIMİ yan tümcesi sabit uzunlukta OCTET STRING veya Opak olarak alt yazılan ilkel bir türe, adlandırılmış türe veya metin kuralına başvurduğunda, CIM özellik niteleyicisi fixed_length sabit uzunluklu değeri belirtir. Bu niteleyici işaretsiz bir 32 bit tamsayı değeri olarak temsil edilir.

  • Aralık

    SÖZ DIZIMİ yan tümcesi aralıklı veya sabit değerli TAMSAYı veya Ölçer olarak alt yazılan ilkel bir türe, adlandırılmış türe veya metin kuralına başvurduğunda, CIM özellik niteleyicisi variable_value tür tanımıyla ilişkili aralıklı ve sabit değerleri belirtir. Bu niteleyici, aralık ve sabit uzunluklu değerlerin işaretsiz 32 bit tamsayılar olarak temsil edildiği aşağıdaki biçimde bir dize olarak uygulanır.

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

Örnek Kod

Aşağıdaki örnekte numaralandırılmış INTEGER alt türü açıklanmaktadır.

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

Bu örnek şu şekilde eşler:

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

Aşağıdaki kod örneği bir BITS alt türünü açıklar.

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

Aşağıdaki kod örneği şuna eşler:

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

Aşağıdaki kod örneği, değişken uzunluklu bir alt türü açıklar.

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

Bu örnek şu şekilde eşler:

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

Aşağıdaki örnekte sabit uzunlukta bir alt tür açıklanmaktadır.

IPXADDRESS := OCTET STRING (SIZE (6))

Bu örnek şu şekilde eşler:

fixed_length(6)

Aşağıdaki örnekte bir aralık alt türü açıklanmaktadır.

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

Bu örnek şu şekilde eşler:

variable_value("10..20,8")