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
이 함수의 동작을 지정하는 플래그입니다.
다음 값 중 하나 이상을 결합할 수 있습니다.
값 | 의미 |
---|---|
|
플래그를 할당하지 않습니다. |
|
마샬링 영역에 예약된 공간을 사용하여 현재 레코드를 추가합니다. |
[out, optional] pcbWritten
작업이 완료될 때 기록되는 바이트 수를 수신하는 변수에 대한 포인터입니다.
[out, optional] plsnNext
기록된 다시 시작 영역의 LSN을 지정하는 CLFS_LSN 구조체에 대한 포인터입니다.
[in, out, optional] pOverlapped
OVERLAPPED 구조에 대한 포인터입니다.
비동기 작업이 사용되지 않는 경우 이 매개 변수는 NULL 일 수 있습니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
다음 목록에서는 가능한 오류 코드를 식별합니다.
설명
WriteLogRestartArea는 현재 버퍼링된 모든 로그 레코드의 플러시와 로그 메타데이터의 플러시를 모두 발생합니다.
비동기 작업을 지원하기 위해 만들어진 로그에서 클라이언트가 WriteLogRestartArea를 호출하는 경우(예: 로그를 만들 때 CreateLogFile의 fFlagsAndAttributes 매개 변수가 FILE_FLAG_OVERLAPPED 설정되는 경우) 클라이언트는 WriteLogRestartArea의 pOverlapped 매개 변수에 유효한 OVERLAPPED 구조체에 대한 포인터를 제공해야 합니다.
그런 다음 writeLogRestartArea 가 ERROR_IO_PENDING 오류와 함께 실패하면 ppvReadContext 매개 변수가 가리키는 변수에 유효한 읽기 컨텍스트에 대한 포인터가 배치됩니다.
호출을 완료하려면 클라이언트가 GetOverlappedResult 또는 동기화 대기 함수 중 하나를 사용하여 겹치는 I/O 작업의 지연된 완료와 실행을 동기화해야 합니다. 자세한 내용은 동기화 및 겹치는 입력 및 출력을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | clfsw32.h |
라이브러리 | Clfsw32.lib |
DLL | Clfsw32.dll |