다음을 통해 공유


WriteLogRestartArea 함수(clfsw32.h)

새 클라이언트 다시 시작 영역을 로그에 추가하고 필요에 따라 로그의 LSN(기본 로그 시퀀스 번호)을 앞으로 이동합니다.

디스크에 성공적으로 기록되면 로그의 마지막 LSN이 추가된 다시 시작 레코드의 LSN으로 변경됩니다. 일반적으로 WriteLogRestartArea 는 알려진 정상 상태를 정기적으로 저장하는 애플리케이션에서 사용되며 다시 시작 영역에는 기존 로그 레코드 체인에 대한 LSN이 포함됩니다.

구문

CLFSUSER_API BOOL WriteLogRestartArea(
  [in, out]           PVOID        pvMarshal,
  [in]                PVOID        pvRestartBuffer,
  [in]                ULONG        cbRestartBuffer,
  [in, optional]      PCLFS_LSN    plsnBase,
  [in]                ULONG        fFlags,
  [out, optional]     PULONG       pcbWritten,
  [out, optional]     PCLFS_LSN    plsnNext,
  [in, out, optional] LPOVERLAPPED pOverlapped
);

매개 변수

[in, out] pvMarshal

CreateLogMarshallingArea 함수를 사용하여 할당된 마샬링 컨텍스트에 대한 포인터입니다.

[in] pvRestartBuffer

다시 시작 데이터를 포함하는 버퍼에 대한 포인터입니다.

[in] cbRestartBuffer

pvRestartBuffer의 크기(바이트)입니다.

[in, optional] plsnBase

다시 시작 영역을 성공적으로 작성한 후 로그의 새 기본 LSN을 지정하는 CLFS_LSN 구조체에 대한 포인터입니다.

이 값은 활성 로그 범위를 벗어날 수 없습니다. 이 값은 현재 기본 LSN의 값 이상이어야 하며, ReserveAndAppendLog에 대한 최신 호출에서 lastLSN 매개 변수에 반환된 LSN보다 크지 않아야 합니다. 이 선택적 매개 변수를 생략하면 기본 LSN이 변경되지 않습니다.

[in] fFlags

이 함수의 동작을 지정하는 플래그입니다.

다음 값 중 하나 이상을 결합할 수 있습니다.

의미
CLFS_FLAG_NO_FLAGS
플래그를 할당하지 않습니다.
CLFS_FLAG_USE_RESERVATION
마샬링 영역에 예약된 공간을 사용하여 현재 레코드를 추가합니다.

[out, optional] pcbWritten

작업이 완료될 때 기록되는 바이트 수를 수신하는 변수에 대한 포인터입니다.

[out, optional] plsnNext

기록된 다시 시작 영역의 LSN을 지정하는 CLFS_LSN 구조체에 대한 포인터입니다.

[in, out, optional] pOverlapped

OVERLAPPED 구조에 대한 포인터입니다.

비동기 작업이 사용되지 않는 경우 이 매개 변수는 NULL 일 수 있습니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

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

설명

WriteLogRestartArea는 현재 버퍼링된 모든 로그 레코드의 플러시와 로그 메타데이터의 플러시를 모두 발생합니다.

비동기 작업을 지원하기 위해 만들어진 로그에서 클라이언트가 WriteLogRestartArea를 호출하는 경우(예: 로그를 만들 때 CreateLogFilefFlagsAndAttributes 매개 변수가 FILE_FLAG_OVERLAPPED 설정되는 경우) 클라이언트는 WriteLogRestartAreapOverlapped 매개 변수에 유효한 OVERLAPPED 구조체에 대한 포인터를 제공해야 합니다.

그런 다음 writeLogRestartAreaERROR_IO_PENDING 오류와 함께 실패하면 ppvReadContext 매개 변수가 가리키는 변수에 유효한 읽기 컨텍스트에 대한 포인터가 배치됩니다.

호출을 완료하려면 클라이언트가 GetOverlappedResult 또는 동기화 대기 함수 중 하나를 사용하여 겹치는 I/O 작업의 지연된 완료와 실행을 동기화해야 합니다. 자세한 내용은 동기화 및 겹치는 입력 및 출력을 참조하세요.

요구 사항

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

추가 정보

CLFS_LSN

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

OVERLAPPED