ReadPreviousLogRestartArea 함수(clfsw32.h)
읽기 컨텍스트 pvReadContext에 지정된 현재 다시 시작 레코드를 기준으로 하는 이전 로그 다시 시작 영역을 읽습니다. 이 읽기 컨텍스트는 ReadLogRestartArea를 호출하여 이전에 만든 컨텍스트입니다.
구문
CLFSUSER_API BOOL ReadPreviousLogRestartArea(
[in] PVOID pvReadContext,
[out] PVOID *ppvRestartBuffer,
[out] PULONG pcbRestartBuffer,
[out] PCLFS_LSN plsnRestart,
[in, out, optional] LPOVERLAPPED pOverlapped
);
매개 변수
[in] pvReadContext
ReadLogRestartArea가 반환하는 시스템 할당 읽기 컨텍스트에 대한 포인터입니다.
이러한 함수는 ERROR_IO_PENDING 반환하더라도 유효한 읽기 컨텍스트에 대한 포인터를 반환합니다. 비동기 완료에 대한 자세한 내용은 이 항목의 설명 섹션을 참조하세요.
[out] ppvRestartBuffer
다시 시작 데이터에 대한 포인터를 수신하는 변수에 대한 포인터입니다.
[out] pcbRestartBuffer
*ppvRestartBuffer에서 다시 시작 데이터의 크기를 바이트 단위로 수신하는 변수에 대한 포인터입니다.
[out] plsnRestart
이 함수가 반환하는 다시 시작 영역의 LSN(로그 시퀀스 번호)을 수신하는 CLFS_LSN 구조체에 대한 포인터입니다.
[in, out, optional] pOverlapped
비동기 작업에 필요한 OVERLAPPED 구조체에 대한 포인터입니다.
비동기 작업을 사용하지 않는 경우 이 매개 변수는 NULL 일 수 있습니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
다음 목록에서는 가능한 오류 코드를 식별합니다.
설명
CreateLogMarshallingArea에서 지정한 로그 블록 크기가 전체 로그 블록을 보유할 만큼 크지 않으면 오류 메시지 ERROR_LOG_BLOCK_INCOMPLETE 반환됩니다.
ReadPreviousLogRestartArea가 오류 코드 ERROR_IO_PENDING 실패하면 ppvReadContext 매개 변수가 가리키는 변수에 유효한 읽기 컨텍스트에 대한 포인터가 배치됩니다.
로그 레코드 복사본을 완료하려면 클라이언트는 먼저 GetOverlappedResult 또는 동기화 대기 함수 중 하나를 사용하여 겹치는 I/O 작업의 지연 완료와 실행을 동기화해야 합니다. 자세한 내용은 동기화 및 겹치는 입력 및 출력을 참조하세요.
ReadPreviousLogRestartArea가 비동기적으로 완료되면 요청된 다시 시작 영역을 디스크에서 읽지만 유효한 포인터는 *ppvRestartBuffer에 배치되지 않습니다.
유효한 포인터를 가져오려면 클라이언트가 ReadPreviousLogRestartArea 를 두 번째로 호출해야 합니다.
CLFS 읽기 컨텍스트는 한 번에 두 개 이상의 비동기 읽기로 전달되어서는 안 되며 ERROR_READ 함수가 실패합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | clfsw32.h |
라이브러리 | Clfsw32.lib |
DLL | Clfsw32.dll |