다음을 통해 공유


AddLogContainerSet 함수(clfsw32.h)

호출 프로세스에 로그 핸들에 대한 액세스 권한이 있는 경우 로그 핸들과 연결된 실제 로그에 여러 로그 컨테이너를 추가합니다. 컨테이너를 추가하면 클라이언트가 로그 크기를 늘릴 수 있습니다.

구문

CLFSUSER_API BOOL AddLogContainerSet(
  [in]                HANDLE     hLog,
  [in]                USHORT     cContainer,
  [in, optional]      PULONGLONG pcbContainer,
  [in]                LPWSTR     *rgwszContainerPath,
  [in, out, optional] LPVOID     pReserved
);

매개 변수

[in] hLog

로그 컨테이너를 추가할 수 있는 권한이 있는 CreateLogFile 에서 가져온 열린 로그에 대한 핸들입니다.

파일을 전용 또는 멀티플렉싱할 수 있습니다.

[in] cContainer

rgwszContainerPath 배열의 컨테이너 수입니다.

이 값은 0이 아니어야 합니다. 로그에 I/O를 수행하려면 두 개 이상의 컨테이너가 있어야 합니다.

[in, optional] pcbContainer

컨테이너의 크기(바이트)입니다.

최소 크기는 일반 로그의 경우 512KB, 멀티플렉싱 로그의 경우 1024KB입니다. 최대 크기는 약 4GB입니다.

컨테이너가 새로 만든 로그에 추가되는 경우 이 매개 변수가 필요합니다. 컨테이너가 이미 만들어진 경우 이 매개 변수는 NULL이거나 첫 번째 컨테이너의 크기만큼 큰 일부 값일 수 있습니다.

로그 컨테이너 크기는 로그 지역 크기(512KB)의 배수입니다. 새 파일에 컨테이너를 추가하면 AddLogContainer 함수는 컨테이너 크기를 다음 512KB 경계까지 반올림하고 pcbContainer가 가리키는 값으로 해당 크기를 반환합니다.

마찬가지로 로그에 이미 컨테이너가 하나 이상 있고 *pcbContainer 값이 현재 컨테이너 크기만큼 큰 경우 함수는 현재 내부 크기를 가진 모든 컨테이너를 만들고 *pcbContainer에서 해당 크기를 반환합니다.

[in] rgwszContainerPath

컨테이너에 대한 cContainer 경로 이름의 배열입니다.

배열의 각 요소는 로그 볼륨의 새 컨테이너에 대한 유효한 경로를 포함하는 와이드 문자열입니다.

[in, out, optional] pReserved

예약되어 있습니다. 예약NULL로 설정합니다.

반환 값

함수가 성공하면 반환 값은 0이 아닌 값으로, 모든 컨테이너가 로그에 성공적으로 추가되었음을 나타냅니다.

함수가 실패하면 반환 값은 0입니다. 이는 컨테이너가 추가되지 않음을 나타냅니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

다음 목록에서는 가능한 오류 코드를 식별합니다.

설명

AddLogContainerSet 함수는 원자성이 아닙니다. 예를 들어 잘못된 경로 이름으로 작업이 중단된 경우 AddLogContainerSet 호출은 실패를 반환하지만 일부 컨테이너가 만들어졌을 수 있습니다. 예를 들어 추가된 컨테이너를 확인하여 애플리케이션이 이 오류에서 복구해야 합니다.

AddLogContainerSet은 둘 이상의 컨테이너를 추가하므로 컨테이너를 하나만 추가하는 AddLogContainer를 반복적으로 호출하는 것보다 더 효율적입니다.

컨테이너는 압축되지 않은 모드로 만들어지고 열리며, 컨테이너를 만들 때 0으로 초기화됩니다.

요구 사항

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

추가 정보

AddLogContainer

일반적인 로그 파일 시스템 함수

OVERLAPPED