다음을 통해 공유


PerfAddCounters 함수(perflib.h)

지정된 쿼리에 성능 카운터 사양을 추가합니다.

구문

ULONG PerfAddCounters(
  [in]      HANDLE                   hQuery,
  [in, out] PPERF_COUNTER_IDENTIFIER pCounters,
            DWORD                    cbCounters
);

매개 변수

[in] hQuery

성능 카운터 사양을 추가하려는 쿼리에 대한 핸들입니다.

[in, out] pCounters

추가하려는 성능 카운터 사양에 대한 포인터입니다.

cbCounters

pCounters 매개 변수가 지정하는 버퍼의 크기(바이트)입니다.

반환 값

함수가 성공하면 ERROR_SUCCESS 반환합니다.

함수가 실패하면 반환 값은 시스템 오류 코드입니다.

설명

pCounters 매개 변수는 PERF_COUNTER_IDENTIFIER 블록 시퀀스를 가리킵니다. 각 PERF_COUNTER_IDENTIFIER 블록은 PERF_COUNTER_IDENTIFIER 구조체로 구성되며, 필요에 따라 null로 끝나는 UTF-16LE instance 이름 문자열과 블록의 크기를 8바이트의 배수로 만드는 패딩으로 구성됩니다.

PERF_COUNTER_IDENTIFIER 블록에 대해 다음을 수행합니다.

  • PERF_COUNTER_IDENTIFIER 구조체의 CounterSetGuid 멤버를 쿼리할 카운터 집합의 식별자로 설정합니다.
  • PERF_COUNTER_IDENTIFIER 구조체의 Status 멤버를 0으로 설정합니다.
  • PERF_COUNTER_IDENTIFIER 구조체의 Size 멤버를 PERF_COUNTER_IDENTIFIER 구조체, instance 이름 및 안쪽 여백을 포함하여 PERF_COUNTER_IDENTIFIER 블록의 크기(바이트)로 설정합니다. Size 값은 8의 배수여야 합니다.
  • PERF_COUNTER_IDENTIFIER 구조체의 CounterId 멤버를 쿼리에서 반환해야 하는 카운터의 식별자로 설정합니다. 모든 카운터를 반환하려면 CounterIdPERF_WILDCARD_COUNTER 설정합니다.
  • PERF_COUNTER_IDENTIFIER 구조체의 InstanceId 멤버를 쿼리에서 반환해야 하는 instance 식별자로 설정합니다. instance 식별자를 기반으로 필터링을 수행하지 않아야 하는 경우 InstanceIdPERF_WILDCARD_COUNTER 설정합니다.
  • PERF_COUNTER_IDENTIFIER 구조체의 Index 멤버를 0으로 설정합니다.
  • PERF_COUNTER_IDENTIFIER 구조체의 Reserved 멤버를 0으로 설정합니다.
  • PERF_COUNTER_IDENTIFIER 구조 바로 뒤의 instance 이름을 포함합니다.
    • 카운터 집합이 단일 instance 경우 instance 이름을 설정하지 마세요. 이 경우 PERF_COUNTER_IDENTIFIER 구조체의 Size 멤버 값은 PERF_COUNTER_IDENTIFIER 구조체의 크기여야 합니다.
    • 카운터 집합이 다중 instance 경우 instance 이름을 설정해야 합니다. instance 이름을 기준으로 성능 카운터 사양을 필터링하지 않으려면 PERF_WILDCARD_INSTANCE instance 이름으로 사용합니다.
PerfAddCounters는 각 PERF_COUNTER_IDENTIFIER 블록에 대한 쿼리에 하나의 카운터 사양을 추가하려고 시도하고 시도 결과로 각 블록의 PERF_COUNTER_IDENTIFIER 구조체의 상태 멤버를 업데이트합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 10 버전 1607 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 perflib.h
라이브러리 AdvAPI32.lib
DLL AdvAPI32.dll

추가 정보

PERF_COUNTER_IDENTIFIER

PerfDeleteCounters