다음을 통해 공유


PdhReadRawLogRecord 함수(pdh.h)

지정된 이진 추적 로그 파일의 정보를 읽습니다.

구문

PDH_FUNCTION PdhReadRawLogRecord(
  [in]  PDH_HLOG            hLog,
  [in]  FILETIME            ftRecord,
  [out] PPDH_RAW_LOG_RECORD pRawLogRecord,
  [in]  LPDWORD             pdwBufferLength
);

매개 변수

[in] hLog

로그 파일에 대한 핸들입니다. PdhOpenLog 또는 PdhBindInputDataSource 함수는 이 핸들을 반환합니다.

[in] ftRecord

읽을 레코드의 타임스탬프를 지정합니다. 타임스탬프를 로그 파일의 레코드와 일치하지 않는 경우 함수는 지정된 타임스탬프를 가장 가까운 타임스탬프를 가진 레코드를 반환합니다.

[out] pRawLogRecord

PDH_RAW_LOG_RECORD 구조를 수신하는 호출자 할당 버퍼; 구조체에는 로그 파일 레코드 정보가 포함됩니다. pdwBufferLength가 0이면 NULL로 설정합니다.

[in] pdwBufferLength

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

반환 값

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

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

반환 코드 설명
PDH_INVALID_ARGUMENT
매개 변수가 잘못된 경우 예를 들어 일부 릴리스에서는 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작은 경우 이 오류를 수신할 수 있습니다.
PDH_MORE_DATA
pRawLogRecord 버퍼가 너무 작아 경로 요소를 포함할 수 없습니다. pdwBufferLength가 입력에서 0이면 이 반환 값이 필요합니다. 입력에서 지정된 크기가 0보다 크지만 필요한 크기보다 작으면 반환된 크기에 의존하여 버퍼를 다시 할당하면 안 됩니다.
PDH_MEMORY_ALLOCATION_FAILURE
함수를 완료하기 위해 메모리를 할당할 수 없습니다.

설명

필요한 버퍼 크기( pRawLogRecordNULL 로 설정하고 pdwBufferLength 를 0으로 설정)를 처음으로 두 번 호출하고 두 번째로 이 함수를 호출하여 데이터를 가져와야 합니다.

요구 사항

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

추가 정보

PDH_RAW_LOG_RECORD

PdhCollectQueryData

PdhFormatFromRawValue