다음을 통해 공유


PdhEnumObjectsA 함수(pdh.h)

지정된 컴퓨터 또는 지정된 로그 파일에서 사용할 수 있는 개체 목록을 반환합니다.

데이터 원본에 대한 핸들을 사용하려면 PdhEnumObjectsH 함수를 사용합니다.

통사론

PDH_FUNCTION PdhEnumObjectsA(
  [in]      LPCSTR  szDataSource,
  [in]      LPCSTR  szMachineName,
  [out]     PZZSTR  mszObjectList,
  [in, out] LPDWORD pcchBufferSize,
  [in]      DWORD   dwDetailLevel,
  [in]      BOOL    bRefresh
);

매개 변수

[in] szDataSource

성능 개체를 열거하는 데 사용되는 로그 파일의 이름을 지정하는 Null종료된 문자열입니다. NULL경우 함수는 에 지정된 컴퓨터를 사용합니다.

이름을 열거하는 szMachineName 매개 변수입니다.

[in] szMachineName

성능 개체를 열거하는 데 사용되는 컴퓨터의 이름을 지정하는 Null종료된 문자열입니다.

컴퓨터 이름(예: \computername)에 선행 슬래시를 포함합니다.

szDataSource 매개 변수가 NULL경우 szMachineName NULL 설정하여 로컬 컴퓨터를 지정할 수 있습니다.

[out] mszObjectList

개체 이름 목록을 수신하는 호출자 할당 버퍼입니다. 이 목록의 각 개체 이름은 null 문자로 종료됩니다. 목록은 두 개의 null종결자 문자로 종료됩니다. pcchBufferLength 매개 변수가 0이면 NULL 설정합니다.

[in, out] pcchBufferSize

TCHARmszObjectList 버퍼의 크기입니다. 입력이 0이면 함수는 PDH_MORE_DATA 반환하고 이 매개 변수를 필요한 버퍼 크기로 설정합니다. 버퍼가 필요한 크기보다 큰 경우 함수는 이 매개 변수를 사용된 버퍼의 실제 크기로 설정합니다. 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작으면 반환된 크기에 의존하여 버퍼를 다시 할당하면 안 됩니다.

Windows XP: 필요한 버퍼 크기에 추가합니다.

[in] dwDetailLevel

반환할 성능 항목의 세부 수준입니다. 지정한 세부 수준 이하의 모든 항목이 반환됩니다(수준이 증가하는 순서로 나열됨). 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
PERF_DETAIL_NOVICE
초보 사용자 수준의 세부 정보입니다.
PERF_DETAIL_ADVANCED
고급 사용자 수준의 세부 정보입니다.
PERF_DETAIL_EXPERT
전문가 수준의 세부 정보입니다.
PERF_DETAIL_WIZARD
시스템 디자이너 수준의 세부 정보입니다.

[in] bRefresh

캐시된 개체 목록을 자동으로 새로 고쳐야 하는지를 나타냅니다. 다음 값 중 하나를 지정합니다.

이 함수를 두 번 호출하는 경우 목록의 크기를 가져오기 위해 한 번, 실제 목록을 가져오기 위해 두 번째로 이 매개 변수를 설정하면 첫 번째 호출에서 TRUE 두 번째 호출에서 FALSE . 두 호출이 모두 TRUE경우 두 번째 호출은 호출 간에 개체 데이터가 변경되었을 수 있으므로 PDH_MORE_DATA 반환할 수도 있습니다.

의미
TRUE
개체가 반환되기 전에 개체 캐시가 자동으로 새로 고쳐집니다.
FALSE
캐시를 자동으로 새로 고치지 마세요.

반환 값

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

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

반환 코드 묘사
PDH_MORE_DATA
mszObjectList 버퍼가 너무 작아서 개체 목록을 보관할 수 없습니다. pcchBufferLength 입력에서 0이면 이 반환 값이 필요합니다. 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작으면 반환된 크기에 의존하여 버퍼를 다시 할당하면 안 됩니다.
PDH_CSTATUS_NO_MACHINE
지정한 컴퓨터가 오프라인 상태이거나 사용할 수 없습니다.
PDH_CSTATUS_NO_OBJECT
지정한 개체를 찾을 수 없습니다.
PDH_INVALID_ARGUMENT
매개 변수가 잘못되었습니다. 예를 들어 일부 릴리스에서는 입력의 지정된 크기가 0보다 크지만 필요한 크기보다 작으면 이 오류가 발생할 수 있습니다.

발언

필요한 버퍼 크기(mszObjectList NULL pcchBufferLength 0으로 설정)를 처음으로 두 번 호출하고 데이터를 가져오는 데 두 번째로 이 함수를 호출해야 합니다.

메모

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

요구 사항

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

참고 항목

PdhEnumObjectItems

PdhEnumObjectsH