Share via


Cláusula INDEX

A cláusula INDEX especifica uma chave para selecionar uma única linha em uma coleção escalar ou de tabelas. O Provedor SNMP é mapeado para um tipo diferente de classe CIM, dependendo do tipo de tabela que o dispositivo SNMP usar. Como uma chave pode ser mais de um tipo de objeto, o provedor usa regras de mapeamento diferentes dependendo do tipo de objeto dentro da chave. Para obter mais informações, consulte Tipos de dados da cláusula INDEX.

Observação

Para obter mais informações sobre como instalar o provedor, consulte Configurar o ambiente SNMP do WMI.

 

Uma coleção escalar é mapeada para uma classe singleton CIM, ou seja, uma classe que pode ter apenas uma instância. Como não há necessidade de identificar exclusivamente uma instância de outra, uma classe singleton não designa uma ou mais propriedades como a chave. Classes geradas a partir de coleções escalares:

  • Não contém qualificadores da propriedade Key.
  • Contém o singleton de qualificador da classe CIM padrão, que é do tipo Bool.

Uma coleção de tabelas é mapeada para uma classe CIM que pode ter mais de uma instância. Como resultado, a definição da classe CIM deve conter pelo menos uma propriedade que defina a chave de objeto, ou seja, uma propriedade que identifica exclusivamente uma instância da classe. A cláusula INDEX da macro OBJECT-TYPE de uma coleção de tabelas especifica o conjunto de propriedades de chave da coleção. As seguintes regras de mapeamento se aplicam:

  • A Key (chave) do qualificador CIM, tipo Bool, define uma propriedade de chave.

  • A ordenação das informações INDEX dentro da coleção de tabelas define a ordenação das chaves dentro da definição da classe CIM.

    O qualificador CIM Key_Order define a ordenação das chaves. Este qualificador é um valor inteiro de 32 bits sem sinal, que, para fins da sintaxe do qualificador MOF, deve ser convertido para um valor inteiro de 32 bits com sinal usando a operação de complemento de dois.

Atualmente, o mapeamento da cláusula INDEX SNMPv2C não manipula o uso do qualificador IMPLICIT. Nesse caso, não será gerada uma definição de classe CIM.

Tipos de dados da cláusula INDEX

Devido à flexibilidade da cláusula INDEX dentro da macro OBJECT-TYPE, a especificação de propriedades chaveadas não é simples. Em vez disso, você deve considerar as possibilidades de que a cláusula INDEX possa conter um ou mais dos seguintes tipos de dados:

  • Valor indexobject acessível internamente

    O valor indexobject é um valor nomeado que se refere a uma definição de objeto MIB que aparece na linha conceitual da mesma tabela que contém a cláusula INDEX. A definição de objeto MIB referenciada na cláusula INDEX é mapeada para uma propriedade de chave da definição da classe CIM.

  • Valor indexobject acessível externamente

    Nesse caso, o indexobject é um valor nomeado que se refere a uma definição de objeto MIB que aparece na linha conceitual de uma tabela diferente.

  • Valor indextype acessível

    O valor indextype é um tipo nomeado que se refere a um dos seguintes tipos de dados: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NetworkAddress ou IpAddress. Se a cláusula INDEX contiver uma referência de tipo MIB, as seguintes regras de mapeamento se aplicarão:

    • O objeto MIB referenciado mapeia para uma propriedade de chave da definição da classe CIM. Sua sintaxe de tipo baseia-se no valor indextype especificado, que é mapeado para qualificadores de propriedade CIM usando os procedimentos de mapeamento de cláusula SYNTAX padrão.
    • O processo de mapeamento gera um nome de propriedade exclusivo concatenando o descritor de objeto de tabela MIB, um sublinhado (_) e a ordem de classificação do valor indextype da cláusula INDEX. Por exemplo, o nome da propriedade para o terceiro componente indextype da tabela MIB enterpriseIfTable é enterpriseIfTable_3.
    • A propriedade CIM é anotada com o qualificador Virtual_Key. Esse qualificador especifica que o Provedor SNMP deve calcular o valor da propriedade com base no superconjunto de informações de instância associadas a todas as definições de objeto MIB acessíveis na definição de classe.
    • A definição da classe CIM deve conter pelo menos uma propriedade que não tenha um qualificador Virtual_Key associado. A omissão dessa propriedade invalida a definição da classe.
  • Subtipo de comprimento fixo

    Quando a cláusula INDEX de uma coleção de tabelas SNMP contém um tipo com suporte de SNMP cujo subtipo é uma OCTET STRING de comprimento fixo, o qualificador de propriedade CIM Fixed_Length deve ser usado para especificar esse valor.