다음을 통해 공유


PdhAddCounterA 함수(pdh.h)

지정된 카운터를 쿼리에 추가합니다.

구문

PDH_FUNCTION PdhAddCounterA(
  [in]  PDH_HQUERY   hQuery,
  [in]  LPCSTR       szFullCounterPath,
  [in]  DWORD_PTR    dwUserData,
  [out] PDH_HCOUNTER *phCounter
);

매개 변수

[in] hQuery

카운터를 추가할 쿼리에 대한 핸들입니다. 이 핸들은 PdhOpenQuery 함수에서 반환됩니다.

[in] szFullCounterPath

카운터 경로가 포함된 Null로 끝나는 문자열입니다. 카운터 경로의 형식에 대한 자세한 내용은 카운터 경로 지정을 참조하세요. 카운터 경로의 최대 길이는 PDH_MAX_COUNTER_PATH.

[in] dwUserData

사용자 정의 값입니다. 이 값은 카운터 정보의 일부가 됩니다. 나중에 이 값을 검색하려면 PdhGetCounterInfo 함수를 호출하고 PDH_COUNTER_INFO 구조체의 dwUserData 멤버에 액세스합니다.

[out] phCounter

쿼리에 추가된 카운터에 대한 핸들입니다. 후속 호출에서 이 핸들을 참조해야 할 수 있습니다.

반환 값

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

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

반환 코드 설명
PDH_CSTATUS_BAD_COUNTERNAME
카운터 경로를 구문 분석하거나 해석할 수 없습니다.
PDH_CSTATUS_NO_COUNTER
컴퓨터 또는 로그 파일에서 지정된 카운터를 찾을 수 없습니다.
PDH_CSTATUS_NO_COUNTERNAME
카운터 경로가 비어 있습니다.
PDH_CSTATUS_NO_MACHINE
경로에 컴퓨터 이름이 없으며 함수가 로컬 컴퓨터 이름을 검색할 수 없습니다.
PDH_CSTATUS_NO_OBJECT
컴퓨터 또는 로그 파일에서 지정된 개체를 찾을 수 없습니다.
PDH_FUNCTION_NOT_FOUND
이 카운터에 사용할 계산 함수를 확인할 수 없습니다.
PDH_INVALID_ARGUMENT
하나 이상의 인수가 잘못되었습니다.
PDH_INVALID_HANDLE
쿼리 핸들이 잘못되었습니다.
PDH_MEMORY_ALLOCATION_FAILURE
함수를 완료하는 데 필요한 메모리를 할당할 수 없습니다.

설명

카운터 경로에 와일드카드 문자가 포함된 경우 와일드카드 문자와 일치하는 모든 카운터 이름이 쿼리에 추가됩니다.

아직 존재하지 않는 카운터 instance 지정된 경우 PdhAddCounter는 오류 조건을 보고하지 않습니다. 대신 ERROR_SUCCESS 반환합니다. 이 동작의 이유는 존재하지 않는 카운터 instance 지정되었는지 또는 존재하지 않지만 아직 만들어지지 않은지 여부를 알 수 없기 때문입니다.

쿼리에서 카운터를 제거하려면 PdhRemoveCounter 함수를 사용합니다.

예제

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

참고

pdh.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 PdhAddCounter를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

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

추가 정보

PdhAddEnglishCounter

PdhBrowseCounters

PdhMakeCounterPath

PdhOpenQuery

PdhRemoveCounter