PdhAddEnglishCounterA 함수(pdh.h)

지정된 언어 중립적 카운터를 쿼리에 추가합니다.

구문

PDH_FUNCTION PdhAddEnglishCounterA(
  [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 구조체의 dwQueryUserData 멤버에 액세스합니다.

[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
함수를 완료하는 데 필요한 메모리를 할당할 수 없습니다.

설명

이 함수는 쿼리에 성능 카운터를 추가하는 언어 중립적 방법을 제공합니다. 반면 PdhAddCounter 함수에서 지정하는 카운터 경로는 지역화되어야 합니다.

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

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

참고 카운터 경로에 와일드카드 문자가 포함된 경우 경로의 와일드카드가 아닌 부분이 지역화되지만 쿼리에 지역화된 카운터 경로를 추가하기 전에 와일드카드는 확장되지 않습니다. 이 경우 다음 절차를 사용하여 일치하는 모든 카운터 이름을 쿼리에 추가해야 합니다.
  1. 쿼리 만들기
  2. 와일드카드가 포함된 문자열과 함께 PdhAddEnglishCounter 사용
  3. PdhAddEnglishCounter에서 반환된 카운터 핸들에서 PdhGetCounterInfo를 사용하여 지역화된 전체 경로(szFullPath)를 가져옵니다. 이 문자열은 여전히 와일드카드를 포함하지만 와일드카드가 아닌 부분은 이제 지역화됩니다.
  4. PdhExpandWildCardPath를 사용하여 와일드카드를 확장합니다.
  5. 각 결과 경로에서 PdhAddCounter 사용
 

참고

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

요구 사항

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

추가 정보

PdhAddCounter

PdhBrowseCounters

PdhMakeCounterPath

PdhOpenQuery

PdhRemoveCounter