PdhEnumObjectItemsA 함수(pdh.h)
지정된 컴퓨터 또는 지정된 로그 파일에 있는 지정된 개체의 카운터 및 instance 이름을 반환합니다.
데이터 원본에 핸들을 사용하려면 PdhEnumObjectItemsH 함수를 사용합니다.
구문
PDH_FUNCTION PdhEnumObjectItemsA(
[in] LPCSTR szDataSource,
[in] LPCSTR szMachineName,
[in] LPCSTR szObjectName,
[out] PZZSTR mszCounterList,
[in, out] LPDWORD pcchCounterListLength,
[out] PZZSTR mszInstanceList,
[in, out] LPDWORD pcchInstanceListLength,
[in] DWORD dwDetailLevel,
[in] DWORD dwFlags
);
매개 변수
[in] szDataSource
카운터 및 instance 이름을 열거하는 데 사용되는 로그 파일의 이름을 지정하는 Null로 끝나는 문자열입니다. NULL인 경우 함수는 에 지정된 컴퓨터를 사용합니다.
이름을 열거하는 szMachineName 매개 변수입니다.
[in] szMachineName
열거하려는 카운터 및 instance 이름을 포함하는 컴퓨터의 이름을 지정하는 Null로 종료된 문자열입니다.
컴퓨터 이름(예: \computername)에 선행 슬래시를 포함합니다.
szDataSource 매개 변수가 NULL인 경우 szMachineName을 NULL로 설정하여 로컬 컴퓨터를 지정할 수 있습니다.
[in] szObjectName
열거하려는 카운터 및 instance 이름을 가진 개체의 이름을 지정하는 Null로 끝나는 문자열입니다.
[out] mszCounterList
지정된 개체에서 제공하는 null로 종료된 카운터 이름 목록을 수신하는 호출자 할당 버퍼입니다. 목록에는 고유한 카운터 이름이 포함되어 있습니다. 목록은 두 개의 NULL 문자로 종료됩니다. pcchCounterListLength 매개 변수가 0이면 NULL로 설정합니다.
[in, out] pcchCounterListLength
TCHAR에서 mszCounterList 버퍼의 크기입니다. 입력에 0이 있고 개체가 있는 경우 함수는 PDH_MORE_DATA 반환하고 이 매개 변수를 필요한 버퍼 크기로 설정합니다. 버퍼가 필요한 크기보다 큰 경우 함수는 이 매개 변수를 사용된 버퍼의 실제 크기로 설정합니다. 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작으면 반환된 크기에 의존하여 버퍼를 다시 할당하면 안 됩니다.
[out] mszInstanceList
지정된 개체에서 제공하는 null로 종료된 instance 이름 목록을 수신하는 호출자 할당 버퍼입니다. 목록에는 고유한 instance 이름이 포함되어 있습니다. 목록은 두 개의 NULL 문자로 종료됩니다. pcchInstanceListLength가 0이면 NULL로 설정합니다.
[in, out] pcchInstanceListLength
TCHAR에서 mszInstanceList 버퍼의 크기입니다. 입력에 0이 있고 개체가 있는 경우 함수는 PDH_MORE_DATA 반환하고 이 매개 변수를 필요한 버퍼 크기로 설정합니다. 버퍼가 필요한 크기보다 큰 경우 함수는 이 매개 변수를 사용된 버퍼의 실제 크기로 설정합니다. 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작으면 반환된 크기에 의존하여 버퍼를 다시 할당하면 안 됩니다.
지정된 개체가 변수 인스턴스를 지원하지 않는 경우 반환된 값은 0이 됩니다. 지정된 개체가 변수 인스턴스를 지원하지만 현재 인스턴스가 없는 경우 반환되는 값은 빈 MULTI_SZ 목록 문자열의 크기인 2입니다.
[in] dwDetailLevel
반환할 성능 항목의 세부 수준입니다. 지정한 세부 수준 이하의 모든 항목이 반환됩니다(수준 순서가 증가하는 순서로 나열됨). 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
초보 사용자 수준의 세부 정보입니다. |
|
고급 사용자 수준의 세부 정보입니다. |
|
전문가 수준의 세부 정보. |
|
시스템 디자이너 수준의 세부 정보입니다. |
[in] dwFlags
이 매개 변수는 0이어야 합니다.
반환 값
함수가 성공하면 ERROR_SUCCESS 반환합니다.
함수가 실패하면 반환 값은 시스템 오류 코드 또는 PDH 오류 코드입니다. 가능한 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
버퍼 중 하나가 너무 작아서 이름 목록을 포함할 수 없습니다. pcchCounterListLength 또는 pcchInstanceListLength가 입력에 0이면 이 반환 값이 필요합니다. 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작으면 반환된 크기에 의존하여 버퍼를 다시 할당하면 안 됩니다. |
|
매개 변수가 잘못된 경우 예를 들어 일부 릴리스에서는 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작은 경우 이 오류를 수신할 수 있습니다. |
|
이 함수를 지원하기 위해 메모리를 할당할 수 없습니다. |
|
지정한 컴퓨터가 오프라인 상태이거나 사용할 수 없습니다. |
|
지정된 컴퓨터 또는 지정된 로그 파일에서 지정된 개체를 찾을 수 없습니다. |
설명
이 함수를 두 번 호출하여 필요한 버퍼 크기를 처음으로 가져와야 합니다(버퍼를 NULL 로 설정하고 크기를 0으로 설정). 두 번째로 데이터를 가져와야 합니다.
PdhEnumObjectItems는 항상 PdhEnumObjects 또는 PdhEnumObjectItems에 대한 마지막 호출로 정의된 성능 개체 목록을 쿼리하므로 이 함수에 대한 연속 호출은 카운터 및 인스턴스의 동일한 목록을 반환합니다. 성능 개체 목록을 새로 고치려면 PdhEnumObjectItems 를 다시 호출하기 전에 bRefresh 플래그 값 이 TRUE 인 PdhEnumObjects 를 호출합니다.
instance 및 카운터 이름의 순서는 결정되지 않습니다.
예제
예제는 프로세스 개체 열거를 참조하세요.
참고
pdh.h 헤더는 PdhEnumObjectItems를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | pdh.h |
라이브러리 | Pdh.lib |
DLL | Pdh.dll |