다음을 통해 공유


PERF_INSTANCE_DEFINITION 구조체(winperf.h)

성능 개체의 instance 설명합니다.

구문

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

멤버

ByteLength

뒤에 오는 instance 이름을 포함하여 이 구조체의 크기(바이트)입니다. 이 값은 8 바이트 배수여야 합니다.

ParentObjectTitleIndex

타이틀 데이터베이스에 있는 부모 개체의 이름 인덱스입니다. 예를 들어 개체가 스레드이거나 부모 개체가 프로세스이거나 개체가 논리 드라이브인 경우 부모는 실제 드라이브입니다.

ParentObjectInstance

이 instance 연결된 부모 개체 내의 instance 위치입니다. 위치는 0부터 시작합니다.

UniqueID

이름을 사용하여 instance 식별하는 대신 instance 식별하는 데 사용할 수 있는 고유 식별자입니다. 고유 식별자를 사용하여 카운터 인스턴스를 구분하지 않는 경우 이 멤버를 PERF_NO_UNIQUE_ID 설정합니다.

NameOffset

이 구조체의 시작 부분에서 이 instance 유니코드 이름으로 오프셋합니다.

NameLength

null 종결자를 포함한 instance 이름의 길이(바이트)입니다. instance 이름이 없으면 이 멤버는 0입니다.

길이에 ByteLength가 8바이트 경계에 맞춰지도록 instance 이름에 추가한 패딩을 포함하지 마세요.

설명

개체는 PERF_OBJECT_TYPENumInstances 멤버가 0보다 큰 경우 인스턴스를 포함합니다. PERF_OBJECT_TYPEDefinitionLength 멤버를 사용하여 개체의 첫 번째 instance 찾습니다. 자세한 내용은 성능 데이터 형식을 참조하세요.

소비자는 부모 instance 이름을 사용하여 표시에 사용되는 전체 instance 이름을 만들어야 합니다. 규칙은 이름을 부모/자식으로 구성하는 것입니다.

공급자는 고유한 instance 이름을 사용해야 합니다. 그렇지 않으면 현재 instance 이전에 쿼리된 것과 동일한 instance 참조하는지 알 수 없기 때문에 소비자가 성능 값을 계산하고 표시하기가 어렵습니다(인스턴스가 오고 갈 수 있습니다).

공급자는 instance 이름에 충분한 공간을 할당하여 ByteLength가 8바이트 경계에 맞춰지도록 해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winperf.h(Windows.h 포함)

추가 정보

PERF_OBJECT_TYPE