다음을 통해 공유


PdhGetFormattedCounterValue 함수(pdh.h)

지정된 카운터의 표시 가능한 값을 계산합니다.

구문

PDH_FUNCTION PdhGetFormattedCounterValue(
  [in]  PDH_HCOUNTER          hCounter,
  [in]  DWORD                 dwFormat,
  [out] LPDWORD               lpdwType,
  [out] PPDH_FMT_COUNTERVALUE pValue
);

매개 변수

[in] hCounter

표시 가능한 값을 계산하려는 카운터의 핸들입니다. PdhAddCounter 함수는 이 핸들을 반환합니다.

[in] dwFormat

형식이 지정된 값의 데이터 형식을 결정합니다. 다음 값 중 하나를 지정합니다.

의미
PDH_FMT_DOUBLE
데이터를 배정밀도 부동 소수점 실제로 반환합니다.
PDH_FMT_LARGE
데이터를 64비트 정수로 반환합니다.
PDH_FMT_LONG
데이터를 긴 정수로 반환합니다.
 

비트 포함 OR 연산자(|)를 사용하여 데이터 형식을 다음 크기 조정 요소 중 하나와 결합할 수 있습니다.

의미
PDH_FMT_NOSCALE
카운터의 기본 배율 인수를 적용하지 마세요.
PDH_FMT_NOCAP100
카운터 값이 100보다 크면(예: 다중 프로세서 컴퓨터의 프로세서 부하를 측정하는 카운터 값) 100으로 다시 설정되지 않습니다. 기본 동작은 카운터 값이 100 값으로 제한된다는 것입니다.
PDH_FMT_1000
실제 값을 1,000으로 곱합니다.

[out] lpdwType

카운터 형식을 받습니다. 카운터 유형 목록은 Windows Server 2003 배포 키트의 카운터 형식 섹션을 참조하세요. 이 매개 변수는 선택적 요소입니다.

[out] pValue

카운터 값을 받는 PDH_FMT_COUNTERVALUE 구조체입니다.

반환 값

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

함수가 실패하면 반환 값은 시스템 오류 코드 또는 PDH 오류 코드입니다. 가능한 값은 다음과 같습니다.

반환 코드 설명
PDH_INVALID_ARGUMENT
매개 변수가 잘못되었거나 형식이 잘못되었습니다.
PDH_INVALID_DATA
지정된 카운터에 유효한 데이터 또는 성공적인 상태 코드가 포함되어 있지 않습니다.
PDH_INVALID_HANDLE
카운터 핸들이 잘못되었습니다.

설명

카운터에 대한 데이터는 PdhGetFormattedCounterValue 호출 기간 동안 잠겨(보호됨) 호출을 처리하는 동안 변경되는 것을 방지합니다. 데이터를 읽어(이 함수를 성공적으로 호출)하면 카운터에 대한 데이터 변경 플래그가 지워집니다.

속도 카운터와 같은 일부 카운터는 표시 가능한 값을 계산하기 위해 두 개의 카운터 값이 필요합니다. 이 경우 PdhGetFormattedCounterValue를 호출하기 전에 PdhCollectQueryData를 두 번 호출해야 합니다. 자세한 내용은 성능 데이터 수집을 참조하세요.

지정된 카운터 instance 없는 경우 메서드는 PDH_INVALID_DATA 반환하고 PDH_FMT_COUNTERVALUE 구조체의 CStatus 멤버를 PDH_CSTATUS_NO_INSTANCE 설정합니다.

Windows Server 2003 이전: instance 찾을 수 없는 경우 단일 값만 필요한 카운터에 대해 형식 호출이 실패할 수 있습니다. 쿼리를 호출하고 호출 형식을 다시 지정합니다. 형식 호출이 두 번째로 실패하면 instance 찾을 수 없습니다. 또는 새로 고침 옵션이 TRUE로 설정된 PdhEnumObjects 함수를 호출하여 카운터 데이터를 쿼리하고 서식을 지정하기 전에 카운터 인스턴스를 새로 고칠 수 있습니다.

예제

예를 들어 성능 카운터 찾아보기 또는 로그 파일에서 성능 데이터 읽기를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 pdh.h
라이브러리 Pdh.lib
DLL Pdh.dll

추가 정보

PdhCollectQueryData

PdhGetRawCounterValue

PdhSetCounterScaleFactor