Suporte à classe Win32_PerfRawData

Ao escrever um provedor de alto desempenho que deriva classes de Win32_PerfRawData, você deve seguir convenções específicas para que o WMI possa fornecer dados para os valores da propriedade.

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, confira Tornar um provedor de instância em um provedor de alto desempenhoe Bibliotecas de desempenho e WMI.

 

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

Para dar suporte à classe Win32_PerfRawData

  1. Crie a 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 do WDM (driver) ao namespace root\wmi. Para obter mais informações sobre como criar sua própria classe para o WMI, confira Projetar classes do MOF (Managed Object Format).

  2. Especifique o provedor como "NT5_GenericPerfProvider_V1" no qualificador Provedor.

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

    • HiPerf
    • Localidade
    • 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 do WMI.

  4. Preencha as propriedades apropriadas de carimbo de data/hora e frequência usadas para calcular fórmulas do tipo de 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 diferente de Name em sua classe.

  6. Crie propriedades com tipo de dados 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:

    • DisplayName
    • CounterType
    • DefaultScale
    • Descrição
    • PerfDefault
    • PerfDetail

    Para obter mais informações, confira 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, Locale e Description para localização. Você deve adicionar qualificadores alterados ao namespace MS_409 (inglês) para que o Monitor do Sistema possa exibir corretamente os dados de classe. Isso significa que você altera a definição de propriedade adicionando um qualificador Description com texto explicativo e preenche o valor DisplayName. Você também deve adicionar qualificadores alterados a qualquer outro namespace de localidade compatível com sua classe. Se um usuário solicitar dados de uma localidade para a qual você não fornece qualificadores alterados, o WMI usará 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 esperando um valor base.

    Essa propriedade segue imediatamente a propriedade e é nomeada propertyname**_Base**. Por exemplo, a propriedade de 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 pelo nome ou valor decimal em Tipos de contador de desempenho do WMI.

  9. Verifique se o provedor atende aos requisitos de desempenho.

Transformar um provedor de instância em um provedor de alto desempenho