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) |