Compartilhar via


estrutura PERF_INSTANCE_DEFINITION (winperf.h)

Descreve uma instância de um objeto de desempenho.

Sintaxe

typedef struct _PERF_INSTANCE_DEFINITION {
  DWORD ByteLength;
  DWORD ParentObjectTitleIndex;
  DWORD ParentObjectInstance;
  LONG  UniqueID;
  DWORD NameOffset;
  DWORD NameLength;
} PERF_INSTANCE_DEFINITION, *PPERF_INSTANCE_DEFINITION;

Membros

ByteLength

Tamanho dessa estrutura, incluindo o nome da instância a seguir, em bytes. Esse valor deve ser um múltiplo de 8 bytes.

ParentObjectTitleIndex

Índice do nome do objeto pai no banco de dados de título. Por exemplo, se o objeto for um thread, o objeto pai for um processo ou se o objeto for uma unidade lógica, o pai será uma unidade física.

ParentObjectInstance

Posição da instância dentro do objeto pai associado a essa instância. A posição é baseada em zero.

UniqueID

Um identificador exclusivo que você pode usar para identificar a instância em vez de usar o nome para identificar a instância. Se você não usar identificadores exclusivos para distinguir as instâncias do contador, defina esse membro como PERF_NO_UNIQUE_ID.

NameOffset

Deslocamento do início dessa estrutura para o nome Unicode dessa instância.

NameLength

Comprimento do nome da instância, incluindo o terminador nulo, em bytes. Esse membro será zero se a instância não tiver um nome.

Não inclua no comprimento qualquer preenchimento que você adicionou ao nome da instância para garantir que ByteLength esteja alinhado a um limite de 8 bytes.

Comentários

O objeto conterá instâncias se o membro NumInstances de PERF_OBJECT_TYPE for maior que zero. Use o membro DefinitionLength do PERF_OBJECT_TYPE para localizar a primeira instância do objeto. Para obter detalhes, consulte Formato de dados de desempenho.

Os consumidores devem usar o nome da instância pai, se especificado, para criar um nome de instância completa usado para exibição. A convenção é formar o nome como pai/filho.

Os provedores devem usar nomes de instância exclusivos. Se você não fizer isso, será difícil para os consumidores calcularem e exibirem valores de desempenho porque não poderão saber se a instância atual se refere à mesma instância que foi consultada anteriormente (as instâncias podem ir e vir).

Os provedores devem alocar espaço suficiente para o nome da instância para garantir que ByteLength esteja alinhado a um limite de 8 bytes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winperf.h (inclua Windows.h)

Confira também

PERF_OBJECT_TYPE