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