Partilhar via


Apoio à classe Win32_PerfRawData

Ao escrever um provedor de alto desempenho que deriva classes de Win32_PerfRawData, deve-se seguir convenções específicas para que o WMI consiga fornecer dados para os valores das propriedades.

Observação

Escrever um provedor WMI de alto desempenho para criar contadores de desempenho não é recomendado em nenhuma versão do sistema operacional Windows. Para obter mais informações, consulte Transformando um provedor de instância em um provedor de High-Performancee bibliotecas de desempenho e WMI.

 

O procedimento a seguir descreve como dar suporte à classe Win32_PerfRawData com seu provedor de alto desempenho.

Apoiar a classe Win32_PerfRawData

  1. Crie sua classe no namespace Root\CIMv2.

    A classe deve ser derivada de Win32_PerfRawData e ter o qualificador Hiperf definido como TRUE. Você também pode adicionar classes de dados de desempenho WDM (driver) ao namespace root\wmi. Para obter mais informações sobre como criar sua própria classe para WMI, consulte Designing Managed Object Format (MOF) Classes.

  2. Especifique o fornecedor como "NT5_GenericPerfProvider_V1" no fornecedor qualificador.

  3. Especifique os seguintes qualificadores de nível de classe:

    • HiPerf
    • Locale
    • PerfDetail
    • Provedor

    Para obter mais informações, consulte qualificadores de classe para classes de contador de desempenho. Não defina o qualificador GenericPerfCtr porque ele é reservado para o processo ADAP que transfere dados da biblioteca de desempenho para classes WMI.

  4. Preencha as propriedades apropriadas de carimbo de data/hora e frequência a serem usadas para calcular fórmulas do tipo contador.

    Essas propriedades são herdadas de Win32_PerfRawData e, se você estiver escrevendo um provedor de alto desempenho, deverá preenchê-las para que a classe seja exibida no Monitor do Sistema.

  5. Inclua uma propriedade de chave chamada Name em sua classe (essa propriedade não é necessária para classes singleton).

    Você não deve usar nenhuma propriedade de chave que não seja Nome em sua classe.

  6. Crie propriedades digitadas como DWORD (uint32) ou QWORD (uint64). Essas propriedades se tornam contadores de desempenho quando transferidas para as bibliotecas de desempenho.

  7. Especifique os seguintes qualificadores de nível de propriedade para todas as propriedades em sua classe:

    • NomeDeExibição
    • CounterType
    • EscalaPadrão
    • Descrição
    • PerfDefault
    • PerfDetail

    Para obter mais informações, consulte Qualificadores de Propriedade para Classes de Contador de Desempenho. Além disso, o arquivo de cabeçalho Winperf.h contém valores que você pode especificar para PerfDetail e CounterType.

    O WMI usa os qualificadores DisplayName, Localee Description para localização. Você deve adicionar qualificadores alterados ao namespace MS_409 (inglês) para que o Monitor do Sistema possa exibir corretamente seus dados de classe. Isso significa que você altera a definição de propriedade ao adicionar um qualificador de Descrição com texto explicativo e ao preencher o valor de DisplayName. Você também deve adicionar qualificadores alterados a qualquer outro namespace de localidade suportado por sua classe. Se um usuário solicitar dados de uma localidade para a qual você não forneça qualificadores alterados, o WMI assumirá como padrão as definições especificadas no namespace MS_409.

  8. Crie uma propriedade base para qualquer propriedade que tenha um tipo de contador que requeira um valor de base.

    Esta propriedade imediatamente segue a propriedade e é nomeada propertyname**_Base**. Por exemplo, a propriedade média AvgDiskBytesPerRead na classe Win32_PerfRawData_PerfDisk_LogicalDisk requer uma propriedade base chamada AvgDiskBytesPerRead_Base para contar o número de amostras. Para determinar se o tipo de contador que você deseja usar requer uma propriedade base, localize o tipo de contador por nome ou valor decimal em Tipos de Contador de Desempenho WMI.

  9. Certifique-se de que o seu fornecedor cumpre os requisitos de desempenho .

Transformando um fornecedor de instâncias em um fornecedor de High-Performance