COPYFILE2_MESSAGE構造体 (winbase.h)
保留中のコピー操作に関する情報を含む CopyFile2ProgressRoutine コールバック関数に渡されます。
構文
typedef struct COPYFILE2_MESSAGE {
COPYFILE2_MESSAGE_TYPE Type;
DWORD dwPadding;
union {
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliChunkSize;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliTotalFileSize;
} ChunkStarted;
struct {
DWORD dwStreamNumber;
DWORD dwFlags;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliChunkSize;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} ChunkFinished;
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliTotalFileSize;
} StreamStarted;
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} StreamFinished;
struct {
DWORD dwReserved;
} PollContinue;
struct {
COPYFILE2_COPY_PHASE CopyPhase;
DWORD dwStreamNumber;
HRESULT hrFailure;
DWORD dwReserved;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} Error;
} Info;
} COPYFILE2_MESSAGE;
メンバー
Type
この構造体内の Info 共用体の判別として使用されるCOPYFILE2_MESSAGE_TYPE列挙からの値。
値 | 意味 |
---|---|
|
ストリームの 1 つのチャンクのコピーが開始されたことを示します。 情報は、情報共用体内の ChunkStarted 構造体内にあります。 |
|
ストリームの 1 つのチャンクのコピーが完了したことを示します。 情報は、情報共用体内の ChunkFinished 構造体内にあります。 |
|
ストリームのソース ハンドルと宛先ハンドルの両方が開き、ストリームのコピーが開始されようと中であることを示します。 情報は、情報共用体内の StreamStarted 構造体にあります。 これは、そのストリームのコピーが開始されたことを示すものではありません。 |
|
ストリームのコピー操作が正常に開始されたか、CopyFile2ProgressRoutine からCOPYFILE2_PROGRESS_STOPが返されたために開始されたことを示します。 情報は、情報共用体内の StreamFinished 構造体にあります。 |
|
定期的に送信される場合があります。 情報は、情報共用体内の PollContinue 構造体にあります。 |
|
コピー操作中にエラーが発生しました。 情報は、情報共用体内の Error 構造にあります。 |
dwPadding
Info
Info.ChunkStarted
Type メンバーが COPYFILE2_CALLBACK_CHUNK_STARTED (1) に設定されている場合、この構造体が選択されます。
Info.ChunkStarted.dwStreamNumber
ファイル内のどのストリームをコピーしようとしているかを示します。 ファイル内のストリームを識別するために使用される値は 1 から始まり、そのファイルの以前のストリームよりも常に高くなります。
Info.ChunkStarted.dwReserved
このメンバーは内部使用のために予約されています。
Info.ChunkStarted.hSourceFile
ソース ストリームへの処理。
Info.ChunkStarted.hDestinationFile
宛先ストリームを処理します。
Info.ChunkStarted.uliChunkNumber
現在のストリーム内のどのチャンクをコピーしようとしているかを示します。 チャンクに使用される値は 0 から始まり、現在のストリームの以前のチャンクの値よりも常に高くなります。
Info.ChunkStarted.uliChunkSize
コピーしたチャンクのサイズ (バイト単位)。
Info.ChunkStarted.uliStreamSize
現在のストリームのサイズ (バイト単位)。
Info.ChunkStarted.uliTotalFileSize
このファイルのすべてのストリームのサイズ (バイト単位)。
Info.ChunkFinished
Type メンバーが COPYFILE2_CALLBACK_CHUNK_FINISHED (2) に設定されている場合、この構造体が選択されます。
ChunkFinished.dwReserved
このメンバーは内部使用のために予約されています。
Info.ChunkFinished.dwStreamNumber
ファイル内のどのストリームをコピーしようとしているかを示します。 ファイル内のストリームを識別するために使用される値は 1 から始まり、そのファイルの以前のストリームよりも常に高くなります。
Info.ChunkFinished.dwFlags
Info.ChunkFinished.hSourceFile
ソース ストリームへの処理。
Info.ChunkFinished.hDestinationFile
宛先ストリームを処理します。
Info.ChunkFinished.uliChunkNumber
現在のストリーム内のどのチャンクが処理中であるかを示します。 チャンクに使用される値は 0 から始まり、現在のストリームの以前のチャンクの値よりも常に高くなります。
Info.ChunkFinished.uliChunkSize
コピーしたチャンクのサイズ (バイト単位)。
Info.ChunkFinished.uliStreamSize
現在のストリームのサイズ (バイト単位)。
Info.ChunkFinished.uliStreamBytesTransferred
このストリームに対してこれまでにコピーされた合計バイト数。
Info.ChunkFinished.uliTotalFileSize
このファイルのすべてのストリームのサイズ (バイト単位)。
Info.ChunkFinished.uliTotalBytesTransferred
このファイルに対してこれまでにコピーされた合計バイト数。
Info.StreamStarted
Type メンバーが COPYFILE2_CALLBACK_STREAM_STARTED (3) に設定されている場合、この構造体が選択されます。
Info.StreamStarted.dwStreamNumber
ファイル内のどのストリームをコピーしようとしているかを示します。 ファイル内のストリームを識別するために使用される値は 1 から始まり、そのファイルの以前のストリームよりも常に高くなります。
Info.StreamStarted.dwReserved
このメンバーは内部使用のために予約されています。
Info.StreamStarted.hSourceFile
ソース ストリームへの処理。
Info.StreamStarted.hDestinationFile
宛先ストリームを処理します。
Info.StreamStarted.uliStreamSize
現在のストリームのサイズ (バイト単位)。
Info.StreamStarted.uliTotalFileSize
このファイルのすべてのストリームのサイズ (バイト単位)。
Info.StreamFinished
Type メンバーがCOPYFILE2_CALLBACK_STREAM_FINISHED (4) に設定されている場合、この構造体が選択されます。
Info.StreamFinished.dwStreamNumber
ファイル内のどのストリームをコピーしようとしているかを示します。 ファイル内のストリームを識別するために使用される値は 1 から始まり、そのファイルの以前のストリームよりも常に高くなります。
Info.StreamFinished.dwReserved
このメンバーは内部使用のために予約されています。
Info.StreamFinished.hSourceFile
ソース ストリームへの処理。
Info.StreamFinished.hDestinationFile
宛先ストリームを処理します。
Info.StreamFinished.uliStreamSize
現在のストリームのサイズ (バイト単位)。
Info.StreamFinished.uliStreamBytesTransferred
このストリームに対してこれまでにコピーされた合計バイト数。
Info.StreamFinished.uliTotalFileSize
このファイルのすべてのストリームのサイズ (バイト単位)。
Info.StreamFinished.uliTotalBytesTransferred
このファイルに対してこれまでにコピーされた合計バイト数。
Info.PollContinue
Type メンバーが COPYFILE2_CALLBACK_POLL_CONTNUE (5) に設定されている場合、この構造体が選択されます。
Info.PollContinue.dwReserved
このメンバーは内部使用のために予約されています。
Info.Error
Type メンバーが COPYFILE2_CALLBACK_ERROR (6) に設定されている場合、この構造体が選択されます。
Info.Error.CopyPhase
エラー時のコピーの現在のフェーズを示す、 COPYFILE2_COPY_PHASE 列挙からの値。
Info.Error.dwStreamNumber
エラーの時点で処理されていたストリームの数。
Info.Error.hrFailure
問題を示す値。
Info.Error.dwReserved
このメンバーは内部使用のために予約されています。
Info.Error.uliChunkNumber
現在のストリーム内のどのチャンクがエラーの時点で処理されていたかを示します。 チャンクに使用される値は 0 から始まり、現在のストリームの以前のチャンクの値よりも常に高くなります。
Info.Error.uliStreamSize
処理されるストリームのサイズ (バイト単位)。
Info.Error.uliStreamBytesTransferred
処理中のストリームに対して正常に転送されたバイト数。
Info.Error.uliTotalFileSize
処理されるファイルの合計のサイズ (バイト単位)。
Info.Error.uliTotalBytesTransferred
コピー操作全体で正常に転送されたバイト数。
注釈
COPYFILE2_MESSAGE構造を使用するアプリケーションをコンパイルするには、_WIN32_WINNT マクロを 0x0601 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
Header | winbase.h (Windows.h を含む) |