Qualificadores WMI padrão
A seguir, estão listados os qualificadores padrão específicos do WMI.
Aditamento
Tipo de dados: booliano
Aplica-se a: classes
Indica que uma classe contém qualificadores alterados localizados. O valor padrão é TRUE.
A classe associada pode ser traduzida. Para acessar a versão traduzida, use a identificação de localidade para construir um nome de namespace.
Bypass_GetObject
Tipo de dados: booliano
Aplica-se a: métodos
Indica que a chamada de método deve passar diretamente para a chamada ExecMethodAsync do provedor, em vez do provedor primeiro fazer uma chamada para GetObject para validar o caminho do objeto. O padrão é FALSE. Usar Bypass_GetObject pode melhorar significativamente o desempenho.
Antes de usar Bypass_GetObject, verifique se nenhuma das seguintes ações foi executada:
- Derivar uma classe da sua classe.
- Substituir o método que tem o qualificador Bypass_GetObject.
A falha ao seguir essas precauções pode resultar na invocação da implementação de método da classe pai em vez da classe filho. Para obter mais informações, consulte Usar o qualificador Bypass_GetObject.
CIM_Key
Tipo de dados: CIM_BOOLEAN
Aplica-se a: propriedades
Indica que a propriedade associada é uma propriedade de chave no CIM, mas não no WMI.
Tipo de dados: VT_BSTR
Aplica-se a: propriedades, métodos, parâmetros
Contém texto que descreve o tipo de uma propriedade.
ClassContext
Tipo de dados: VT_BSTR
Aplica-se a: classes
Indica que uma classe tem instâncias associadas a mais informações fornecidas dinamicamente por um provedor.
Deprecated
Tipo de dados: CIM_BOOLEAN
Aplica-se a: propriedades, classes
Indica que a propriedade foi substituída por outra propriedade.
Display
Aplica-se a: classes, propriedades
O UUID da classe associada.
Tipo de dados: booliano
Aplica-se a: classes, propriedades
Indica uma classe cujas instâncias são criadas dinamicamente. O valor desse qualificador deve ser definido como TRUE.
DynProps
Tipo de dados: booliano
Aplica-se a: classes, instâncias
Indica que uma instância contém valores fornecidos por provedores de propriedades dinâmicos. O valor padrão é TRUE.
Você deve especificar esse qualificador nessa instância. Somente o valor TRUE é permitido.
Fixed
Tipo de dados: CIM_BOOLEAN
Aplica-se a: instâncias
Indica que o valor dessa propriedade não pode ser alterado durante o tempo de vida da instância.
ID
Tipo de dados: VT_I4
Aplica-se a: propriedades, parâmetros
Identifica e sequencia exclusivamente um parâmetro de propriedade ou de método quando instruções MOF são geradas de forma automática.
Esse qualificador é necessário apenas para parâmetros de método. Ao criar parâmetros para um método, os designers de classe devem começar com Id(0) para o primeiro parâmetro e usar cada inteiro sucessivo para cada parâmetro sucessivo. Se os qualificadores ID forem omitidos involuntariamente, o compilador MOF vai gerar qualificadores ID de forma automática.
Implemented
Tipo de dados: booliano
Aplica-se a: métodos
Indica que um método tem uma implementação fornecida por um provedor.
InstanceContext
Tipo de dados: VT_BSTR
Aplica-se a: instâncias
Indica que uma instância contém valores fornecidos por provedores de propriedades dinâmicos.
O valor é passado para o provedor de propriedade como um argumento para o método IWbemPropertyProvider::GetProperty.
Locale
Tipo de dados: VT_BSTR
Aplica-se a: classes ou instâncias
Especifica o idioma de origem para uma classe ou instância. Para obter mais informações sobre valores de localidade, consulte Códigos de localidade.
NamespaceSecuritySDDL
Tipo de dados: matriz de cadeia de caracteres
Aplica-se a: instâncias de namespace
Especifica um descritor de segurança para o namespace no formato SDDL. Para obter mais informações, consulte Definir a segurança de namespace quando ele é criado. A cadeia de caracteres SDDL é processada pelo WMI para estabelecer a segurança de namespace, mas não armazenada como uma cadeia de caracteres. Se nenhum descritor de segurança for especificado, a segurança padrão será usada. Para obter mais informações, consulte Definir descritores de segurança de namespace.
Optional
Tipo de dados: booliano
Aplica-se a: parâmetros
Indica que um parâmetro não é necessário e que ele tem um valor padrão bem comportado.
Privileges
Tipo de dados: matriz de cadeia de caracteres
Aplica-se a: propriedades, métodos
Conjunto de valores usados para informar ao cliente quais privilégios são necessários para criar instâncias, preencher propriedades ou executar métodos. O padrão é FALSE.
PropertyContext
Tipo de dados: VT_BSTR
Aplica-se a: propriedades
Indica que uma propriedade de instância contém valores fornecidos por provedores de propriedades dinâmicos.
Especifique esse qualificador nessa instância. O valor é passado para o provedor de propriedade como um argumento para IWbemPropertyProvider::GetProperty.
Provider
Tipo de dados: VT_BSTR
Aplica-se a: classes
O valor desse qualificador é o nome do provedor dinâmico que fornece instâncias de classe e atualiza os dados da instância. Esse nome deve ser registrado com o WMI criando uma instância da classe __Win32Provider com a propriedade Name que contém esse nome. Quando esse qualificador é especificado em uma classe cujas instâncias são fornecidas dinamicamente, o qualificador Dynamic também deve ser especificado.
RequiresEncryption
Tipo de dados: booliano
Aplica-se a: instâncias de namespace
Se definido como TRUE, RequiresEncryption marca um namespace para que os aplicativos cliente e scripts se conectem com a autenticação criptografada. O nível de autenticação deve ser definido como RPC_C_AUTHN_LEVEL_PKT_PRIVACY no C++. No script ou no Visual Basic, o nível de autenticação deve ser definido como WbemAuthenticationLevelPktPrivacy. Para obter mais informações, consulte Definir descritores de segurança de namespace. O qualificador é usado no MOF com o comando de pré-processador pragma namespace.
Para obter mais informações, consulte Definir o nível de segurança do processo padrão usando C++ ou Definir o nível de segurança do processo padrão usando VBScript. Os níveis de autenticação de script são definidos em WbemAuthenticationLevelEnum.
Singleton
Tipo de dados: booliano
Aplica-se a: classes
Designa uma classe que só pode ter uma instância e que não contém propriedades de chave.
Somente o valor TRUE (padrão) é permitido.
Static
Tipo de dados: booliano
Aplica-se a: métodos
Indica se um método pode ser chamado usando a definição de classe ou suas instâncias.
O método não pode ser invocado de uma instância.
SubType
Tipo de dados: VT_BSTR
Aplica-se a: propriedades
Indica que uma propriedade do tipo CIM_DATETIME representa um intervalo de tempo em vez de uma hora específica.
Para identificar a propriedade como um intervalo, o valor desse qualificador deve ser "interval". Todos os outros valores desse qualificador são reservados para uso futuro.
UUID
Tipo de dados: cadeia de caracteres
Aplica-se a: classes
Identificador universalmente exclusivo aplicado à classe.
ClassVersion
Tipo de dados: cadeia de caracteres
Aplica-se a: classes
O número da versão do objeto de classe. O padrão é NULL. O número da versão é incrementado quando são feitas alterações na classe.
WritePrivileges
Tipo de dados: matriz de cadeia de caracteres
Aplica-se a: propriedades
Conjunto de valores que indicam quais privilégios do sistema devem estar disponíveis e habilitados para uma operação de gravação bem-sucedida.
Comentários
Códigos da localidade
Um código de localidade tem o formato "MS_<ID do idioma de três dígitos>". Por exemplo, a localidade Inglês é MS_409. A tabela a seguir lista as IDs de idioma.
Idioma | ID de idioma (hexadecimal) |
---|---|
Árabe | 401 |
Português (Brasil) | 416 |
Chinês (Simplificado) | 804 |
Chinês (Tradicional) | 404 |
Tcheco | 405 |
Dinamarquês | 406 |
Holandês | 413 |
Inglês (padrão) | 409 |
Finlandês | 40b |
Francês | 40c |
Alemão | 407 |
Grego | 408 |
Hebraico | 40d |
Húngaro | 40e |
Italiano | 410 |
Japonês | 411 |
Coreano | 412 |
Norueguês | 414 |
Polonês | 415 |
Português (Portugal) | 816 |
Russo | 419 |
Espanhol | c0a |
Sueco | 41D |
Turco | 41f |
Usar o qualificador Bypass_GetObject
O uso do qualificador Bypass_GetObject em um método pode produzir resultados confusos.
O exemplo a seguir define as classes Shape e Circle. Observe que a classe Circle é derivada da classe Shape.
class Shape
{
string Name;
uint32 DrawIt(); // - draws an irregular geometric shape
};
class Circle : Shape
{
uint32 DrawIt(); // - draws a circle
};
A chamada a seguir para ExecMethod usa um objeto Circle chamado "MyCircle" para desenhar um círculo.
ExecMethod("Shape.Name='MyCircle'","DrawIt");
No cenário anterior, o WMI chama GetObject; descobre que "Shape.Name='MyCircle'" é um Circle; e executa a implementação Circle de DrawIt. No entanto, se você usar o qualificador Bypass_GetObject no DrawIt, o WMI não chamará GetObject, não descobrirá que "Shape.Name='MyCircle"" é um Circle e executará a implementação Shape de DrawIt em vez da implementação Circle de DrawIt.
A chamada a seguir para ExecMethod sempre invoca a implementação correta de DrawIt.
ExecMethod("Circle.Name='MyCircle'","DrawIt");
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista |
Servidor mínimo com suporte |
Windows Server 2008 |