Qualificadores padrão

Todas as implementações em conformidade com CIM devem lidar com um conjunto de qualificadores padrão. 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 os qualificadores. 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 constructo específico, como associação ou referência, o uso dos qualificadores legais pode ser restringido ainda mais porque alguns qualificadores são mutuamente exclusivos. O uso de um qualificador pode implicar em algumas restrições sobre o valor de outro e assim por diante. Essas regras de uso estão documentadas.
  • Os qualificadores legais são herdados por entidades, como propriedades, métodos, instâncias ou subclasses, não por associações ou referências. Por exemplo, o qualificador MaxLen que se aplica às propriedades não é herdado por referências.

Veja a seguir uma lista dos qualificadores padrão do WMI.

Abstract

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. Não é possível 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.

Aggregate

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 qualificadores de Aggregation e Aggregate são usados juntos Aggregation qualifica a associação e Aggregate especifica a referência pai.

Aggregation

Tipo de dados: booliano

Aplica-se a: associações

Indica se a associação é uma agregação. O padrão é FALSE. Usado com Aggregate. 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 a 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, confira 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, confira BitMap e BitValues.

Constructor

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 Constructor destina-se apenas a informações e não é esperado que ele seja influenciado 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 um método de construtor definido para classes 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.

Description

Tipo de dados: cadeia de caracteres

Aplica-se a: qualquer conceito

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

Destructor

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 influenciar 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 influenciado pelo gerenciador de objetos. Não é obrigatório que o gerenciador de objetos chame 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 um método de destruidor definido para classes pai da classe original. O padrão é FALSE.

DisplayName

Tipo de dados: cadeia de caracteres

Aplica-se a: qualquer conceito

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 conceito

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 das subclasses. O padrão é NULL.

Gauge

Tipo de dados: booliano

Aplica-se a: qualquer conceito

Indica se a propriedade representa um inteiro não negativo, que pode aumentar ou diminuir, mas nunca excede 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 diminuírem posteriormente a ponto de ficar 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.

In

Tipo de dados: booliano

Aplica-se a: parâmetros

Indica se o parâmetro é usado para passar valores para um método. O valor 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.

Key

Tipo de dados: booliano

Aplica-se a: propriedades, referências

Indica se a propriedade faz parte do identificador do namespace. Se mais de uma propriedade tiver o qualificador Key, todas elas formarão coletivamente a chave (uma chave composta). Quando 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.

Lazy

Aplica-se a: propriedades

Indica que a propriedade tem uso intensivo de recursos para retornar e requer muito tempo e memória do processador. 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 em que 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 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 as instâncias A às instâncias B e deve haver no máximo uma instância A para cada instância B, a referência à 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 sem sinal (uint32) pode ser especificado. Um valor NULL (padrão) implica em 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 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 as instâncias A às instâncias B e deve haver no mínimo uma instância A para cada instância B, a referência à 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.

<nome> do esquema "_" <classe ou nome> de associação "." <nome da propriedade>

Nonlocal

Tipo de dados: cadeia de caracteres

Aplica-se a: referências

Local de uma instância, cujo valor é <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 Nonlocal.

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. Note que esse qualificador não pode ser substituído. Não é aceitável permitir que uma subclasse retorne um valor NULL diferente do da classe pai.

Out

Tipo de dados: booliano

Aplica-se a: parâmetros

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

Override

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 Override pode se referir a constructos com base apenas no mesmo modelo meta. Não é permitido alterar um nome de constructo 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, o Gerenciamento do Windows ajusta a cláusula WHERE da consulta enviada à classe pai, para excluir as referências a essa propriedade.

Propagated

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 tem a classe que contém como 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 Propagated é usado, o qualificador Key deve ser especificado com um valor TRUE.

Read

Tipo de dados: booliano

Aplica-se a: propriedades

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

Required

Tipo de dados: booliano

Aplica-se a: propriedades

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

Revision

Tipo de dados: cadeia de caracteres

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

Número de revisão secundária do objeto de esquema. O padrão é NULL.

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

Schema

Tipo de dados: cadeia de caracteres

Aplica-se a: propriedades, métodos

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

Source

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 Source 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 Source.

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) das 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: esse qualificador não pode coexistir com o qualificador Abstract . Se os qualificadores Terminal e Abstract forem especificados, o compilador gerará um erro.

Units

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 Units.

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 isoladamente ou em combinação com o qualificador Values. Quando usado em combinação com o qualificador Values, o local do valor na matriz ValueMap fornece o local da entrada correspondente na matriz Values. 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 estar assinado, deve ter menos de quatro dígitos e deve representar um valor menor que 256.

Values

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 serem mapeados 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 for implícito, os valores de propriedade de inteiro ou de cadeia de caracteres representarão posições ordinais na matriz Values. 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 saber mais, confira Mapa de Valores.

Se um qualificador ValueMap não estiver presente, a matriz Values será indexada (relativa a zero) usando o valor na propriedade associada, tipo de retorno de método ou 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.

Version

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 de versão é incrementado quando são feitas alterações no esquema que alteram a interface.

Weak

Tipo de dados: booliano

Aplica-se a: referências

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

Esse qualificador é usado quando a identidade da classe referenciada depende da identidade dos outros participantes na associação. No máximo, uma referência a 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 Propagated.

Write

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 para consumidores que têm permissão de acesso no WMI e no provedor. O padrão é FALSE.

Uma propriedade que não tem o qualificador Write ainda pode ser gravável. A implementação do provedor pode permitir que todas as propriedades nas classes de provedor sejam alteradas, independentemente da presença do qualificador Write.

WriteAtCreate

Tipo de dados: booliano

Aplica-se a: propriedades

Indica se a propriedade é gravável 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 é gravável 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, confira o exemplo de código Get-WmiClassMethodsAndWritableWmiProperties do PowerShell na Galeria do 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

Como adicionar um qualificador