LPPROGRESS_ROUTINE コールバック関数 (winbase.h)
CopyFileEx、MoveFileTransacted、MoveFileWithProgress 関数で使用される、アプリケーション定義のコールバック関数。 これは、コピー操作または移動操作の一部が完了したときに呼び出されます。 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 が呼び出された理由。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
データ ファイルの別の部分がコピーされました。 |
|
別のストリームが作成され、コピーされようとしています。 これは、コールバック ルーチンが最初に呼び出されたときに指定されたコールバックの理由です。 |
[in] hSourceFile
ソース ファイルへのハンドル。
[in] hDestinationFile
コピー先ファイルへのハンドル
[in, optional] lpData
CopyFileEx、MoveFileTransacted、または MoveFileWithProgress によって CopyProgressRoutine に渡される引数。
戻り値
CopyProgressRoutine 関数は、次のいずれかの値を返す必要があります。
リターン コード/値 | Description |
---|---|
|
コピー操作を取り消し、コピー先ファイルを削除します。 |
|
コピー操作を続行します。 |
|
コピー操作を続行しますが、 CopyProgressRoutine の 呼び出しを停止して進行状況を報告します。 |
|
コピー操作を停止します。 後で再起動できます。 |
注釈
アプリケーションは、この情報を使用して、コピーされた合計バイト数を合計ファイル サイズの割合として示す進行状況バーを表示できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |