Qualificadores Padrão

Todas as implementações compatíveis com CIM devem lidar com um conjunto padrão de qualificadores. Qualquer objeto específico não tem todos os qualificadores listados. Normalmente, as classes de extensão fornecem qualificadores adicionais para facilitar o provisionamento de instâncias de classe e outras operações na classe.

É responsabilidade do provedor impor as qualificatórias. O WMI não impõe qualificadores, mas os usa apenas para informar o usuário sobre como a propriedade é usada.

Observação

O WMI está em conformidade com a especificação CIM 2.5.

Os qualificadores têm as seguintes limitações:

  • Nem todos os qualificadores padrão podem ser usados juntos.
  • Nem todos os qualificadores podem ser aplicados a todos os constructos, como associação ou referência. Essas limitações são identificadas na lista Aplica-se a.
  • Para um determinado constructo, como associação ou referência, o uso das qualificatórias legais pode ser restringido ainda mais porque alguns qualificadores são mutuamente exclusivos, o uso de um qualificador pode implicar algumas restrições sobre o valor de outro e assim por diante. Essas regras de uso estão documentadas.
  • Qualificadores legais são herdados por entidades como propriedades, métodos, instâncias ou subclasses somente, não por associações ou referências. Por exemplo, o qualificador MaxLen que se aplica às propriedades não é herdado por referências.

As listas a seguir listam qualificadores padrão do WMI.

Abstrata

Tipo de dados: booliano

Aplica-se a: classes, associações, indicações

Indica se a classe é abstrata e serve apenas como base para novas classes. O padrão é FALSE. Você não pode criar instâncias de classes abstratas. A ausência desse qualificador indica que a classe não é abstrata; portanto, esse qualificador é necessário para todas as classes abstratas.

Agregado

Tipo de dados: booliano

Aplica-se a: referências

Indica se a referência é o componente pai de uma associação de agregação. O padrão é FALSE.

Uso: os qualificadoresde agregação e agregação são usados juntos, a agregação qualifica a associação e a Agregação especifica a referência pai.

Agregação

Tipo de dados: booliano

Aplica-se a: associações

Indica se a associação é uma agregação. O padrão é FALSE. Usado com Agregação. Esse qualificador é necessário para todas as associações de agregação.

Alias

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades, referências, métodos

Nome alternativo para uma propriedade ou método no esquema. O padrão é NULL.

Arraytype

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades, parâmetros

Tipo da matriz qualificada.

Os valores válidos são:

  • bag (padrão)
  • indexado
  • ordered

Uso: aplique esse tipo de qualificador somente a propriedades e parâmetros que são matrizes (definidos usando sintaxe de colchete).

Bitmap

Tipo de dados: matriz de cadeia de caracteres

Aplica-se a: propriedades, métodos, parâmetros

Mapa de posições de bit significativas em que cada posição significativa pode estar "ativada" ou "desativada". Cada bit "ativado" é mapeado para um valor correspondente na matriz BitValues . Ao ter vários bits "ativados", vários valores simultâneos na matriz BitValues são indicados. O padrão é NULL.

Para obter mais informações, consulte BitMap e BitValues.

BitValues

Tipo de dados: matriz de cadeia de caracteres

Aplica-se a: propriedades, métodos, parâmetros

Tradução de um valor de posição de bit em uma cadeia de caracteres associada. O padrão é NULL.

Para obter mais informações, consulte BitMap e BitValues.

Construtor

Tipo de dados: booliano

Aplica-se a: métodos

Indica se o método cria instâncias. Esses métodos não são restritos a atuar em uma única instância ou em uma única classe. Por exemplo, um construtor pode criar instâncias de associação, bem como instâncias da classe que define o construtor.

O qualificador do Construtor destina-se somente a informações e não se espera que ele seja atuado pelo gerenciador de objetos. O gerenciador de objetos não precisa chamar métodos de construtor quando um objeto é criado. Além disso, quando um construtor é chamado, o gerenciador de objetos não precisa invocar nenhum método de construtor definido para qualquer classe pai da classe original. O padrão é FALSE.

CreateBy

Tipo de dados: cadeia de caracteres

Aplica-se a: classes

Nome do método pelo qual as instâncias dessa classe são criadas. O valor é "PutInstance" ou o nome de outro método que cria as instâncias. O padrão é NULL.

Uso: esse qualificador só poderá ser usado se o qualificador SupportsCreate estiver presente.

DeleteBy

Tipo de dados: cadeia de caracteres

Aplica-se a: classes

Nome do método pelo qual as instâncias dessa classe são excluídas. O valor é "DeleteInstance" ou o nome de outro método que exclui as instâncias. O padrão é NULL.

Uso: esse qualificador só poderá ser usado se o qualificador SupportsDelete estiver presente.

Descrição

Tipo de dados: cadeia de caracteres

Aplica-se a: qualquer

Descrição de um elemento nomeado. O padrão é NULL.

Destruidor

Tipo de dados: booliano

Aplica-se a: métodos

Indica se o método exclui instâncias. Os métodos que usam o qualificador Destructor excluem as instâncias às quais o destruidor é aplicado e não são restritos a atuar em uma única instância ou classe. Por exemplo, um destruidor pode excluir instâncias de associação, bem como instâncias da classe que define o destruidor.

O qualificador Destructor destina-se apenas a informações e não é esperado que ele seja acionado pelo gerenciador de objetos. Não há nenhuma obrigação para o gerenciador de objetos chamar um método que tenha o qualificador Destructor quando uma instância é excluída. Além disso, quando um destruidor é chamado, o gerenciador de objetos não precisa invocar nenhum método de destruidor definido para qualquer classe pai da classe original. O padrão é FALSE.

Displayname

Tipo de dados: cadeia de caracteres

Aplica-se a: qualquer

Nome exibido na interface do usuário em vez do nome real do elemento. O padrão é NULL.

EmbeddedInstance

Tipo de dados: cadeia de caracteres

Aplica-se a: qualquer

O elemento de tipo de cadeia de caracteres qualificado contém uma instância inserida. O valor do qualificador especifica o nome de uma classe CIM no mesmo namespace que a classe que possui o elemento qualificado. A instância inserida é uma instância da classe especificada, incluindo instâncias de suas subclasses. O padrão é NULL.

Calibre

Tipo de dados: booliano

Aplica-se a: qualquer

Indica se a propriedade representa um inteiro não negativo, que pode aumentar ou diminuir, mas nunca exceder um valor máximo. O padrão é FALSE.

O valor máximo da propriedade não pode ser maior que 2^n - 1. N pode ser 8, 16, 32 ou 64, dependendo do tipo de dados da propriedade à qual esse qualificador é aplicado. O valor de um medidor tem seu valor máximo sempre que as informações que estão sendo modeladas são maiores ou iguais a esse valor máximo. Se as informações que estão sendo modeladas posteriormente diminuirem abaixo do valor máximo, o medidor também diminuirá. Esse qualificador é aplicável somente a propriedades com um tipo de dados inteiro sem sinal.

Em

Tipo de dados: booliano

Aplica-se a: parâmetros

Indica se o parâmetro é usado para passar valores para um método. O padrão é TRUE.

In, Out

Tipo de dados: booliano

Aplica-se a: parâmetros

Indica se o parâmetro é um parâmetro de entrada e saída.

Chave

Tipo de dados: booliano

Aplica-se a: propriedades, referências

Indica se a propriedade faz parte do identificador de namespace. Se mais de uma propriedade tiver o qualificador key , todas essas propriedades formarão coletivamente a chave (uma chave composta). Quando executadas juntas, as propriedades de chave devem fornecer uma referência exclusiva para cada instância de classe. Se esse qualificador for colocado em uma propriedade, somente o valor TRUE será permitido.

Preguiçoso

Aplica-se a: propriedades

Indica que a propriedade é intensiva em recursos para retornar e requer muito tempo de processador e memória. O WMI melhora o desempenho das consultas ao não tentar retornar as propriedades marcadas com o qualificador Lazy .

MappingStrings

Tipo de dados: matriz de cadeia de caracteres

Aplica-se a: classes, propriedades, associações, indicações, referências

Conjunto de valores que indicam um caminho para um local onde você pode encontrar mais informações sobre a origem de uma propriedade, classe, associação, indicação ou referência. A cadeia de caracteres de mapeamento pode ser um caminho de diretório, uma URL, uma chave do Registro, um arquivo de inclusão, uma referência a uma classe CIM ou algum outro formato. O padrão é NULL.

Max

Tipo de dados: int

Aplica-se a: referências

Número máximo de valores que uma determinada referência pode ter para cada conjunto de outros valores de referência na associação. O padrão é NULL. Por exemplo, se uma associação relaciona instâncias A a instâncias B e deve haver no máximo uma instância A para cada instância B, a referência a A deve ter no máximo um qualificador.

Maxlen

Tipo de dados: int

Aplica-se a: propriedades, métodos, parâmetros

Comprimento máximo (em caracteres) de um item de dados de cadeia de caracteres e indica suporte a matrizes de comprimento fixo.

Se uma matriz de comprimento fixo for encontrada, o qualificador MaxLen conterá o comprimento fixo encontrado durante a análise. Se uma matriz de comprimento variável for encontrada, esse qualificador não será usado. MaxLen é usado para sugerir o número máximo de elementos que devem ser armazenados em uma matriz. Ao substituir o valor padrão, qualquer valor inteiro não assinado (uint32) pode ser especificado. Um valor NULL (padrão) implica comprimento ilimitado.

Maxvalue

Tipo de dados: int

Aplica-se a: propriedades, métodos, parâmetros

Valor máximo do objeto. O padrão é NULL.

Min

Tipo de dados: int

Aplica-se a: referências

Cardinalidade mínima da referência (o número mínimo de valores que uma determinada referência pode ter para cada conjunto de outros valores de referência na associação). O padrão é 0.

Por exemplo, se uma associação relaciona instâncias A a instâncias B e deve haver pelo menos uma instância A para cada instância B, a referência a A deve ter, no mínimo, um qualificador.

Minvalue

Tipo de dados: int

Aplica-se a: propriedades, métodos, parâmetros

Indica o valor mínimo do objeto. O padrão é NULL.

ModelCorrespondence

Tipo de dados: matriz de cadeia de caracteres

Aplica-se a: propriedades

Conjunto de valores que indicam correspondência entre a propriedade de um objeto e outras propriedades no esquema CIM. O padrão é NULL.

As propriedades do objeto são identificadas usando a sintaxe a seguir.

"_" "."

Não local

Tipo de dados: cadeia de caracteres

Aplica-se a: referências

Local de uma instância, o valor do qual é <namespacetype>://<namespacehandle> O padrão é NULL.

Uso: este qualificador não pode ser usado com o qualificador NonlocalType .

NonlocalType

Tipo de dados: cadeia de caracteres

Aplica-se a: referências

Tipo de local de uma instância. Seu valor é <namespacetype>. O padrão é NULL.

Uso: este qualificador não pode ser usado com o qualificador não local .

Nullvalue

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades

Valor que indica que a propriedade associada é NULL (a propriedade não tem um valor válido ou significativo). O padrão é NULL.

As convenções e restrições usadas para definir valores NULL são as mesmas aplicáveis ao qualificador ValueMap . Observe que este qualificador não pode ser substituído. Não é razoável permitir que uma subclasse retorne um valor NULL diferente do da classe pai.

Saída

Tipo de dados: booliano

Aplica-se a: parâmetros

Indica se o parâmetro retorna valores de um método. O padrão é FALSE.

Substituir

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades, métodos, referências

Classe pai ou constructo subordinado (propriedade, método ou referência) que é substituído pela propriedade, método ou referência do mesmo nome na classe derivada. O padrão é NULL.

O formato é:

[<classe>.]<constructo subordinado>

Se o nome da classe for omitido, a substituição se aplicará ao constructo subordinado na classe pai na hierarquia de classe.

Uso: o qualificador de substituição pode se referir a constructos com base apenas no mesmo modelo de meta. Não é permitido alterar um nome de construção ou assinatura durante uma operação de substituição.

OverrideValue

Aplica-se a: classes

Indica se o valor da propriedade em uma subclasse substitui o valor em uma classe pai. A implicação funcional é que, se você executar uma consulta na classe pai e se a cláusula WHERE incluir essa propriedade, o pai deverá retornar uma instância com o valor substituído. Como resultado, Windows Management ajusta a cláusula WHERE da consulta enviada à classe pai para excluir referências a essa propriedade.

Propagadas

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades

Nome da chave que está sendo propagada. O padrão é NULL.

O uso desse qualificador pressupõe a existência de apenas um qualificador fraco em uma referência que tenha a classe de contenção como seu destino. A propriedade associada deve ter o mesmo valor que a propriedade nomeada pelo qualificador na classe do outro lado da associação fraca. O formato é:

[<classe>.]<constructo subordinado>

Uso: quando o qualificador Propagado é usado , o qualificador de chave deve ser especificado com um valor TRUE.

Ler

Tipo de dados: booliano

Aplica-se a: propriedades

Indica se a propriedade é legível. O padrão é TRUE.

Necessário

Tipo de dados: booliano

Aplica-se a: propriedades

Indica se um valor não nulo é necessário para a propriedade. O padrão é FALSE.

Revisão

Tipo de dados: cadeia de caracteres

Aplica-se a: classes, associações, indicações, esquemas

Número de revisão menor do objeto de esquema. O padrão é NULL.

Uso: o qualificador de versão deve estar presente para fornecer o número de versão principal quando o qualificador de revisão for usado.

Esquema

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades, métodos

Nome do esquema no qual o recurso é definido. O padrão é NULL.

Fonte

Tipo de dados: cadeia de caracteres

Aplica-se a: classes, associações, indicações, referências

Local de uma instância. O padrão é NULL.

O valor do qualificador é <namespacetype>://<namespacehandle>.

Uso: o qualificador de origem não pode ser usado com o qualificador SourceType .

Sourcetype

Tipo de dados: cadeia de caracteres

Aplica-se a: classes, associações, indicações, referências

Tipo de local de uma instância. O valor desse qualificador é <namespacetype>. O padrão é NULL.

Uso: o qualificador SourceType não pode ser usado com o qualificador de origem .

SupportsCreate

Tipo de dados: booliano

Aplica-se a: classes

Indica se a classe dá suporte à criação de instâncias. O padrão é FALSE.

SupportsDelete

Tipo de dados: booliano

Aplica-se a: classes

Indica se a classe dá suporte à exclusão de instâncias. O padrão é FALSE.

SupportsUpdate

Tipo de dados: booliano

Aplica-se a: classes

Indica se a classe dá suporte à modificação (atualização) de instâncias. O padrão é FALSE.

Terminal

Tipo de dados: booliano

Aplica-se a: classes

Indica se a classe pode ter subclasses. O padrão é FALSE.

Se uma subclasse for declarada, o compilador gerará um erro.

Uso: este qualificador não pode coexistir com o qualificador Abstrato . Se os qualificadores terminal e abstrato forem especificados, o compilador gerará um erro.

Unidades

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades, métodos, parâmetros

Tipo de unidade na qual o item de dados associado é expresso. O padrão é NULL.

Por exemplo, um item de dados de tamanho pode ter um valor de "bytes" para Unidades.

Valuemap

Tipo de dados: matriz de cadeia de caracteres

Aplica-se a: propriedades, métodos, parâmetros

Conjunto de valores permitidos para uma propriedade, tipo de retorno de método ou parâmetro de método. O padrão é NULL.

Uso: esse qualificador pode ser usado sozinho ou em combinação com o qualificador Valores . Quando usado em combinação com o qualificador Valores , o local do valor na matriz ValueMap fornece o local da entrada correspondente na matriz Valores . Use o qualificador ValueMap apenas com valores de cadeia de caracteres e inteiros. A sintaxe para representar um valor inteiro na matriz de mapa de valor é [+|=]digit[*digit]. O conteúdo, o número máximo de dígitos e o valor representado são restritos pelo tipo da propriedade associada. Por exemplo, uint8 pode não ser assinado, deve ter menos de quatro dígitos e deve representar um valor menor que 256.

Valores

Tipo de dados: matriz de cadeia de caracteres

Aplica-se a: propriedades, métodos, parâmetros

Conjunto de valores que convertem um valor inteiro em uma cadeia de caracteres associada. O padrão é NULL.

Essa propriedade também especifica uma matriz de valores de cadeia de caracteres a ser mapeada para uma propriedade de enumeração. Esse qualificador pode ser aplicado a uma propriedade de inteiro ou a uma propriedade de cadeia de caracteres, e o mapeamento pode ser implícito ou explícito. Se o mapeamento estiver implícito, valores inteiros ou de propriedade de cadeia de caracteres representarão posições ordinais na matriz Valores . Se o mapeamento for explícito, a propriedade deverá ser um inteiro e os valores de propriedade válidos serão listados na matriz definida pelo qualificador ValueMap . Para obter mais informações, consulte Mapa do Valor.

Se um qualificador ValueMap não estiver presente, a matriz Values será indexada (relativo a zero) usando o valor na propriedade associada, no tipo de retorno do método ou no parâmetro de método. Se um qualificador ValueMap estiver presente, o índice de valores será definido pelo local do valor da propriedade no mapa de valores.

Versão

Tipo de dados: cadeia de caracteres

Aplica-se a: classes, esquemas, associações, indicações

Número de versão principal do objeto de esquema. O padrão é NULL. O número da versão é incrementado quando são feitas alterações no esquema que alteram a interface.

Fraco

Tipo de dados: booliano

Aplica-se a: referências

Indica se as chaves da classe referenciada incluem as chaves dos outros participantes da associação. O padrão é FALSE.

Esse qualificador é usado quando a identidade da classe referenciada depende da identidade dos outros participantes da associação. Não mais do que uma referência a uma determinada classe pode ser fraca. As outras classes na associação devem definir uma chave. As chaves das outras classes na associação são repetidas na classe referenciada e são marcadas com um qualificador Propagado .

Escrever

Tipo de dados: booliano

Aplica-se a: propriedades

Indica que aplicativos ou scripts podem alterar o valor da propriedade. A conta que executa o aplicativo deve ter acesso ao namespace que contém instâncias da classe. A implementação do provedor também pode limitar o acesso aos dados do provedor. Um valor true indica que a propriedade é legível e gravável por consumidores que têm acesso permitido pelo WMI e pelo provedor. O padrão é FALSE.

Uma propriedade que não tem o qualificador de gravação ainda pode ser gravável. A implementação do provedor pode permitir que quaisquer propriedades nas classes de provedor sejam alteradas, se o qualificador de gravação estiver presente.

WriteAtCreate

Tipo de dados: booliano

Aplica-se a: propriedades

Indica se a propriedade pode ser gravada na criação da instância. Esse qualificador pode ser usado em conjunto com o qualificador WriteAtCreate . O padrão é FALSE.

WriteAtUpdate

Tipo de dados: booliano

Aplica-se a: propriedades

Indica se a propriedade pode ser gravada na atualização da instância. Esse qualificador pode ser usado em conjunto com o qualificador WriteAtCreate . O padrão é FALSE.

Exemplos

Para obter mais informações sobre como recuperar qualificadores, consulte o exemplo de código Do PowerShell Get-WmiClassMethodsAndWritableWmiProperties na Galeria technet.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008

Confira também

Qualificadores do WMI

Adicionando um qualificador