Adicionando uma propriedade WMI
As propriedades nas classes WMI descrevem dados sobre um objeto gerenciado. Por exemplo, Handle, ProcessIde PageFaults são definidas como propriedades da classe Win32_Process e descrevem aspetos de um processo do sistema operacional. Para obter mais informações, consulte Escrevendo um provedor de propriedade.
Definindo uma propriedade no MOF
Uma propriedade WMI representa um aspeto ou estado do objeto. Em vez de criar métodos que simplesmente obtêm e definem um valor, você pode criar uma propriedade. Por exemplo, a propriedade NetEnabled de Win32_NetworkAdapter exibe se o estado do adaptador está habilitado ou desabilitado. No entanto, os métodos Enable e Disable realmente executam a ação de alterar o estado do adaptador.
Uma propriedade deve ter um tipo de dados. O tipo de dados da propriedade Win32_ProcessHandle é string e o tipo de dados de PageFaults é uint32. Se uma propriedade pode ter apenas dois estados, o tipo de dados da propriedade é normalmente definido como booleano.
A propriedade também pode ser uma matriz. Por exemplo, a propriedade do identificador de segurança (SID) de Win32_Trustee é uma matriz de bytes (uint8) que contém o SID. As propriedades podem conter objetos incorporados que são referências a uma ou mais instâncias de outra classe WMI. A lista de controle de acesso discricionário (DACL) e a lista de controle de acesso do sistema (SACL) , das propriedades de Win32_SecurityDescriptor, por exemplo, são arrays de objetos Win32_ACE que descrevem os grupos e as contas com acesso. A propriedade Group no Win32_SecurityDescriptor contém uma referência a uma única instância de Win32_Trustee. Para obter mais informações, consulte Incorporando objetos em uma classe.
Uma propriedade pode ter vários qualificadores . Esses qualificadores podem ser qualificadores do Modelo de Informação Comum (CIM) ou qualificadores WMI, ou podem ser específicos para certos tipos de classes, por exemplo, os qualificadores da classe de contador de desempenho . Os qualificadores especificam algum aspeto da propriedade, como se ela é somente leitura ou se não pode ser alterada sem um privilégio específico. Uma aplicação que tenta gravar na propriedade DACL Win32_SecurityDescriptor, por exemplo, requer os privilégios SeSecurityPrivilege e SeRestorePrivilege. Para obter mais informações, consulte Adicionar um qualificador.
Finalmente, uma propriedade deve ter um nome. Você pode nomear uma propriedade de qualquer forma dentro dos limites da prática padrão de programação. No entanto, existem duas exceções principais. Primeiro, você não pode usar nenhuma palavra-chave MOF, como "classe", como um nome de propriedade. Em segundo lugar, você também não pode usar palavras-chave WQL, como "grupo", como um nome de propriedade. Para obter mais informações sobre palavras-chave MOF e WQL, consulte Tipos de dados MOF e WQL (SQL para WMI).
Para código C++ e MOF (Managed Object Format), você declara as propriedades de uma classe ao mesmo tempo em que declara a classe.
Para definir uma propriedade
Inclua o tipo de dados da propriedade, o nome, um valor padrão opcional e um qualificador entre as chaves da descrição da classe.
class MyClass { [key] string strProp; sint32 dwProp1 = 21; uint32 dwProp2; };
A classe MyClass no exemplo anterior tem três propriedades: uma cadeia de caracteres, um inteiro assinado de 32 bits e um inteiro não assinado de 32 bits. A cada propriedade é atribuído um nome não sensível a maiúsculas e minúsculas e um tipo de dados MOF.
O qualificador Key define a propriedade string como a propriedade key que identifica exclusivamente uma instância da classe. Para obter mais informações sobre qualificadores, consulte Adicionar um qualificador.
Tópicos relacionados