다음을 통해 공유


LPPROGRESS_ROUTINE 콜백 함수(winbase.h)

CopyFileEx, MoveFileTransactedMoveFileWithProgress 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다. 복사 또는 이동 작업의 일부가 완료되면 호출됩니다. LPPROGRESS_ROUTINE 형식은 이 콜백 함수에 대한 포인터를 정의합니다. CopyProgressRoutine 은 애플리케이션 정의 함수 이름의 자리 표시자입니다.

구문

LPPROGRESS_ROUTINE LpprogressRoutine;

DWORD LpprogressRoutine(
  [in]           LARGE_INTEGER TotalFileSize,
  [in]           LARGE_INTEGER TotalBytesTransferred,
  [in]           LARGE_INTEGER StreamSize,
  [in]           LARGE_INTEGER StreamBytesTransferred,
  [in]           DWORD dwStreamNumber,
  [in]           DWORD dwCallbackReason,
  [in]           HANDLE hSourceFile,
  [in]           HANDLE hDestinationFile,
  [in, optional] LPVOID lpData
)
{...}

매개 변수

[in] TotalFileSize

파일의 총 크기(바이트)입니다.

[in] TotalBytesTransferred

복사 작업이 시작된 이후 원본 파일에서 대상 파일로 전송된 총 바이트 수입니다.

[in] StreamSize

현재 파일 스트림의 총 크기(바이트)입니다.

[in] StreamBytesTransferred

복사 작업이 시작된 이후 원본 파일에서 대상 파일로 전송된 현재 스트림의 총 바이트 수입니다.

[in] dwStreamNumber

현재 스트림에 대한 핸들입니다. CopyProgressRoutine이 처음 호출되면 스트림 번호는 1입니다.

[in] dwCallbackReason

CopyProgressRoutine이 호출된 이유입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CALLBACK_CHUNK_FINISHED
0x00000000
데이터 파일의 다른 부분이 복사되었습니다.
CALLBACK_STREAM_SWITCH
0x00000001
다른 스트림이 만들어지고 복사하려고 합니다. 콜백 루틴이 처음 호출될 때 지정된 콜백 이유입니다.

[in] hSourceFile

원본 파일에 대한 핸들입니다.

[in] hDestinationFile

대상 파일에 대한 핸들

[in, optional] lpData

CopyFileEx, MoveFileTransacted 또는 MoveFileWithProgress에 의해 CopyProgressRoutine에 전달된 인수입니다.

반환 값

CopyProgressRoutine 함수는 다음 값 중 하나를 반환해야 합니다.

반환 코드/값 설명
PROGRESS_CANCEL
1
복사 작업을 취소하고 대상 파일을 삭제합니다.
PROGRESS_CONTINUE
0
복사 작업을 계속합니다.
PROGRESS_QUIET
3
복사 작업을 계속하지만 CopyProgressRoutine 호출을 중지하여 진행 상황을 보고합니다.
PROGRESS_STOP
2
복사 작업을 중지합니다. 나중에 다시 시작할 수 있습니다.

설명

애플리케이션은 이 정보를 사용하여 총 파일 크기의 백분율로 복사된 총 바이트 수를 보여 주는 진행률 표시줄을 표시할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)

추가 정보

CopyFileEx

파일 관리 함수

MoveFileTransacted

MoveFileWithProgress