PdhOpenLogA 함수(pdh.h)

읽기 또는 쓰기를 위해 지정된 로그 파일을 엽니다.

구문

PDH_FUNCTION PdhOpenLogA(
  [in]  LPCSTR     szLogFileName,
  [in]  DWORD      dwAccessFlags,
  [in]  LPDWORD    lpdwLogType,
  [in]  PDH_HQUERY hQuery,
  [in]  DWORD      dwMaxSize,
  [in]  LPCSTR     szUserCaption,
  [out] PDH_HLOG   *phLog
);

매개 변수

[in] szLogFileName

열 로그 파일의 이름을 지정하는 Null로 끝나는 문자열입니다. 이름에는 절대 경로 또는 상대 경로가 포함될 수 있습니다.

lpdwLogType 매개 변수가 PDH_LOG_TYPE_SQL 경우 SQL:DataSourceName 형식의 로그 파일 이름을 지정합니다.LogFileName.

[in] dwAccessFlags

로그 파일을 여는 데 사용할 액세스 유형입니다. 다음 값 중 하나를 지정합니다.

의미
PDH_LOG_READ_ACCESS
읽기 위해 로그 파일을 엽니다.
PDH_LOG_WRITE_ACCESS
쓰기를 위해 새 로그 파일을 엽니다.
PDH_LOG_UPDATE_ACCESS
쓰기를 위해 기존 로그 파일을 엽니다.
 

비트 포함 OR 연산자(|)를 사용하여 액세스 형식을 다음 만들기 플래그 중 하나 이상과 결합할 수 있습니다.

의미
PDH_LOG_CREATE_NEW
지정된 이름을 사용하여 새 로그 파일을 만듭니다.
PDH_LOG_CREATE_ALWAYS
지정된 이름을 사용하여 새 로그 파일을 만듭니다. 로그 파일이 이미 있는 경우 함수는 새 파일을 만들기 전에 기존 로그 파일을 제거합니다.
PDH_LOG_OPEN_EXISTING
지정된 이름의 기존 로그 파일을 엽니다. 지정된 이름의 로그 파일이 없으면 이 파일은 PDH_LOG_CREATE_NEW 같습니다.
PDH_LOG_OPEN_ALWAYS
지정된 이름의 기존 로그 파일을 열거나 지정된 이름의 새 로그 파일을 만듭니다.
PDH_LOG_OPT_CIRCULAR
지정된 이름의 순환 로그 파일을 만듭니다. 파일이 dwMaxSize 매개 변수의 값에 도달하면 데이터가 로그 파일의 시작 부분으로 래핑됩니다. lpdwLogType 매개 변수가 PDH_LOG_TYPE_BINARY 경우에만 이 플래그를 지정할 수 있습니다.
PDH_LOG_USER_STRING
PDH_LOG_TYPE_TSV 사용하여 PdhUpdateLog 또는 PdhOpenLog의 szUserString 매개 변수로 표시된 사용자 캡션 또는 로그 파일 설명을 작성합니다. 사용자 캡션 또는 로그 파일 설명은 텍스트 로그의 첫 번째 줄에 있는 마지막 열로 작성됩니다.

[in] lpdwLogType

열 로그 파일의 형식입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
PDH_LOG_TYPE_UNDEFINED
정의되지 않은 로그 파일 형식입니다. 지정된 경우 PDH는 로그 파일 형식을 결정합니다. dwAccessFlags 매개 변수가 PDH_LOG_WRITE_ACCESS 경우 이 값을 지정할 수 없습니다.
PDH_LOG_TYPE_CSV
첫 번째 줄의 열 머리글과 각 후속 줄의 개별 데이터 레코드가 포함된 텍스트 파일입니다. 각 데이터 레코드의 필드는 쉼표로 구분됩니다.

첫 번째 줄에는 파일 형식, 로그 파일을 만드는 데 사용되는 PDH 버전, 각 카운터의 이름과 경로에 대한 정보도 포함되어 있습니다.

PDH_LOG_TYPE_SQL
로그 파일의 데이터 원본은 SQL 데이터베이스입니다.
PDH_LOG_TYPE_TSV
첫 번째 줄의 열 머리글과 각 후속 줄의 개별 데이터 레코드가 포함된 텍스트 파일입니다. 각 데이터 레코드의 필드는 탭으로 구분됩니다.

첫 번째 줄에는 파일 형식, 로그 파일을 만드는 데 사용되는 PDH 버전, 각 카운터의 이름과 경로에 대한 정보도 포함되어 있습니다.

PDH_LOG_TYPE_BINARY
이진 로그 파일 형식입니다.

[in] hQuery

로그 파일에 쿼리 데이터를 작성하는 경우 쿼리 핸들을 지정합니다. PdhOpenQuery 함수는 이 핸들을 반환합니다.

이 매개 변수는 무시되며 로그 파일에서 읽는 경우 NULL 이어야 합니다.

[in] dwMaxSize

로그 파일의 최대 크기(바이트)입니다. 파일 크기를 제한하거나 dwAccessFlagsPDH_LOG_OPT_CIRCULAR 지정하는 경우 최대 크기를 지정합니다. 그렇지 않으면 0으로 설정합니다.

순환 로그 파일의 경우 하나 이상의 샘플을 저장할 수 있을 만큼 큰 값을 지정해야 합니다. 샘플 크기는 수집되는 데이터에 따라 달라집니다. 그러나 하나 이상의 메가바이트 값을 지정하면 대부분의 샘플이 포함됩니다.

[in] szUserCaption

로그 파일의 사용자 정의 캡션 지정하는 Null로 끝나는 문자열입니다. 로그 파일 캡션 일반적으로 로그 파일의 내용을 설명합니다. 기존 로그 파일을 열면 이 매개 변수의 값이 무시됩니다.

[out] phLog

열린 로그 파일에 대한 핸들입니다.

반환 값

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

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

설명

이 함수를 사용하여 성능 데이터를 로그 파일에 쓰려면 이 함수를 호출하기 전에 PdhOpenQuery 를 사용하여 쿼리를 열고 원하는 카운터를 추가해야 합니다.

최신 운영 체제는 이전 운영 체제에서 생성된 로그 파일을 읽을 수 있습니다. 그러나 Windows Vista 이상 운영 체제에서 만든 로그 파일은 이전 운영 체제에서 읽을 수 없습니다.

로그 파일에는 다음 규칙이 적용됩니다.

  • READ_ACCESS OPEN_EXISTING 필요합니다.

  • UPDATE_ACCESS 파일 기반 로그와 함께 사용할 수 없습니다. 데이터베이스 로그에만 사용할 수 있습니다.

  • WRITE_ACCESS CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS 중 하나가 필요합니다.

예제

예제는 로그 파일에 성능 데이터 쓰기를 참조하세요.

참고

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

요구 사항

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

추가 정보

PdhGetLogFileSize

PdhOpenQuery

PdhUpdateLog

PdhUpdateLogFileCatalog