Formato de dados de desempenho
O formato dos dados recuperados pela função RegQueryValueEx começa com uma estrutura de cabeçalho de comprimento fixo , PERF_DATA_BLOCK. A estrutura PERF_DATA_BLOCK descreve o sistema e os dados de desempenho. A estrutura PERF_DATA_BLOCK é seguida pelo número variável de itens de dados de objeto de comprimento variável. O cabeçalho de cada item de objeto contém o deslocamento do próximo item de objeto na lista. O diagrama a seguir mostra a estrutura básica de dados de desempenho.
Há dois formatos para os itens de dados de objeto: um que dá suporte a várias instâncias e outro que não dá suporte a várias instâncias.
Cada bloco de item de dados de objeto contém uma estrutura PERF_OBJECT_TYPE , que descreve os dados de desempenho do objeto. A estrutura PERF_OBJECT_TYPE é seguida por uma lista de estruturas de PERF_COUNTER_DEFINITION , uma para cada contador definido para o objeto. Para um objeto com apenas uma instância, a lista de estruturas de PERF_COUNTER_DEFINITION é seguida por uma única estrutura PERF_COUNTER_BLOCK , seguida pelos dados do contador. Cada estrutura PERF_COUNTER_DEFINITION contém o deslocamento do início da estrutura PERF_COUNTER_BLOCK para os dados correspondentes do contador. O diagrama a seguir mostra a estrutura de um objeto de desempenho que não dá suporte a várias instâncias.
Para um tipo de objeto que dá suporte a várias instâncias, a lista de estruturas de PERF_COUNTER_DEFINITION é seguida por uma lista de blocos de informações de instância (um para cada instância). Cada bloco de informações de instância contém uma estrutura PERF_INSTANCE_DEFINITION , o nome da instância e uma estrutura PERF_COUNTER_BLOCK . O diagrama a seguir mostra a estrutura de um objeto de desempenho que dá suporte a duas instâncias.
Para obter um exemplo que usa os deslocamentos, consulte Exibindo nomes de objeto, instância e contador.