Compartilhar via


Propriedades indexadas TCP/IP e índices de dispositivo

Uma propriedade indexada permite que um índice numérico seja acrescentado a um nome de propriedade de esquema, permitindo assim que várias propriedades relacionadas compartilhem o mesmo nome, mas com cada uma tendo um índice numérico para identificar a propriedade individual. Um valor de índice deve ser um inteiro positivo, mas não há limite superior em seu tamanho. A consulta de esquema determina o valor do índice que deve ser associado a um elemento específico. Esse mecanismo permite que você acesse dados em tabelas MIB.

O constructo IndexedProperty define uma propriedade indexada. As restrições a seguir se aplicam a esse constructo.

  • Um constructo IndexedProperty não pode ser o pai de um constructo Property. Um constructo NonIndexedProperty é aquele que define uma propriedade sem um índice em um constructo IndexedProperty.

  • Nem um constructo IndexedProperty nem um constructo NonIndexedProperty podem ser o pai de um constructo Installed.

Uma consulta também pode envolver outro índice: um índice de dispositivo. Um dispositivo de rede que dá suporte a SNMP pode ser o host para uma variedade de subdispositivos, incluindo impressoras. As tabelas MIB em impressoras de rede têm entradas indexadas de acordo com o tipo de dispositivo (um índice de dispositivo). Para que uma consulta recupere dados da tabela MIB, a consulta deve ter o índice de dispositivo correto. O monitor de porta TCP/IP padrão permite que o índice do dispositivo seja configurado pela interface do usuário de configuração de porta. Uma extensão bidi na qual deviceIndex é definido como TRUE (consulte os constructos Value e Installed ) faz com que um OID seja gerado com o índice do dispositivo concatenado com o OID original. O índice de uma propriedade indexada é concatenado para o OID seguindo o índice do dispositivo, se usado.

Exemplo de código

O exemplo de código a seguir estende o esquema de comunicações bidi TCP/IP adicionando uma propriedade Display à propriedade Printer . Além disso, a propriedade Display tem uma propriedade indexada, Row e tem deviceIndex definido como TRUE. O esquema mostrado aqui produz uma consulta que recupera o texto de uma linha específica da exibição da impressora.

<Property name="Printer">
  <Property name="Display">
    <IndexedProperty name="Row">
      <Value name="Text" type="BIDI_TEXT" 
             oid="1.3.6.1.2.1.43.16.5.1.2" deviceIndex="true"/>
    </IndexedProperty>
  </Property>
</Property>

O exemplo anterior resulta na seguinte consulta:

\Printer.Display.Row1:Text

O OID gerado a partir deste exemplo começa idêntico ao atributo oid na propriedade Value , mas tem dois índices acrescentados a ele. Os índices acrescentados no exemplo surgem do atributo deviceIndex sendo definido como TRUE e Row sendo uma propriedade indexada. Supondo que a interface do usuário de configuração de porta defina o índice do dispositivo como 111 e que o texto na linha 1 da exibição da impressora seja de interesse, o OID gerado seria 1.3.6.1.2.1.43.16.5.1.2.111.1. Esse OID é idêntico ao original, exceto pelo índice do dispositivo (111) e pelo índice de propriedade (1) no final. Se deviceIndex tivesse sido definido como FALSE ou tivesse sido omitido, o OID resultante teria sido 1.3.6.1.2.1.43.16.5.1.2.1. Para exibir o texto da linha n da exibição, use um índice de propriedade de n.