Criar uma instância usando MOF

Você pode declarar uma instância básica de uma classe no serviço de Gerenciamento do Windows usando o MOF (Managed Object Format). Você também pode substituir os valores padrão de uma instância. Para obter mais informações, veja Como configurar um valor de propriedade de instância.

O procedimento a seguir descreve como declarar uma instância básica de uma classe usando código MOF.

Para declarar uma instância básica de uma classe usando código MOF

  1. Use as palavras-chave Instance of seguidas pelo nome da classe, chaves e ponto e vírgula.

    O exemplo de código a seguir mostra como declarar uma instância de uma classe.

    instance of ClassName
    {
    };
    
  2. Quando terminar, insira o código MOF no repositório do WMI usando o compilador do MOF.

    Para obter mais informações, consulte Compilar arquivos MOF.

Uma instância de uma classe inclui todas as propriedades da classe. Se a classe for uma classe derivada, as instâncias incluirão as propriedades pertencentes a todas as classes mais altas na hierarquia. Cada classe da qual uma instância é criada tem uma ou mais propriedades principais. Não é possível criar uma instância com mais de 256 chaves.

Definindo um valor de propriedade de instância

Como o WMI tem as propriedades fortemente tipadas, você não pode modificar tipos de propriedade. No entanto, você pode definir valores de propriedade em instâncias. Quando uma classe atribui um valor padrão a uma propriedade, o WMI atribui o valor padrão a cada instância. Você pode substituir esse valor na sua declaração de instância.

O procedimento a seguir descreve como definir um valor de propriedade ou substituir um valor padrão usando o código MOF.

Para definir um valor de propriedade ou substituir um valor padrão usando o código MOF

  1. Coloque uma instrução de atribuição entre as chaves da declaração de instância.

    O exemplo de código a seguir mostra como definir um valor de propriedade.

    instance of ClassName
    {
        Prop = "value";
    };
    

    O WMI não exige que você defina nenhuma propriedade durante a criação da instância. A exceção é nas propriedades marcadas com o qualificador Key. Como o WMI usa propriedades de chave para identificar exclusivamente as instâncias, você deve definir todas as propriedades de chave conforme as encontrar. Por outro lado, você não deve definir uma propriedade do sistema em uma declaração de instância. Em vez disso, o WMI atribui os valores apropriados a uma propriedade do sistema quando necessário.

  2. Quando terminar, insira o código MOF no repositório do WMI com uma chamada ao compilador do MOF.

    Para obter mais informações, consulte Compilar arquivos MOF.

Os exemplos de código a seguir mostram como uma instância especifica dados para propriedades definidas por uma classe.

class MyClass 
{
    [key] string   strProp;
    sint32   dwProp1;
    uint32       dwProp2;
};

instance of MyClass 
{
    strProp = "hello";
    dwProp1 = -1;
    dwProp2 = 0xffffffff;
};

No exemplo anterior, a classe define três propriedades: uma cadeia de caracteres, um inteiro com sinal de 32 bits e um inteiro sem sinal de 32 bits. A instância fornece valores de dados para cada uma dessas propriedades.