COPYFILE2_EXTENDED_PARAMETERS_V2構造体 (winbase.h)
CopyFile2 関数の COPYFILE2_EXTENDED_PARAMETERS 構造体を超える更新された追加機能が含まれています。
構文
typedef struct COPYFILE2_EXTENDED_PARAMETERS_V2 {
DWORD dwSize;
DWORD dwCopyFlags;
BOOL *pfCancel;
PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
PVOID pvCallbackContext;
DWORD dwCopyFlagsV2;
ULONG ioDesiredSize;
ULONG ioDesiredRate;
LPPROGRESS_ROUTINE pProgressRoutineOld;
PCOPYFILE2_CREATE_OPLOCK_KEYS SourceOplockKeys;
#if ...
PVOID reserved[6];
#elif
PVOID reserved[7];
#else
PVOID reserved[8];
#endif
} COPYFILE2_EXTENDED_PARAMETERS_V2;
メンバーズ
dwSize
この構造体のサイズを格納 sizeof(COPYFILE2_EXTENDED_PARAMETERS_V2)
。
dwCopyFlags
これらのフラグ値の 0 個以上の組み合わせを含みます。
価値 | 意味 |
---|---|
COPY_FILE_FAIL_IF_EXISTS0x00000001 |
コピー先ファイルが存在する場合、コピー操作はすぐに失敗します。 コピー先の名前を持つファイルまたはディレクトリが存在する場合、CopyFile2 関数の呼び出しは、HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) または HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) で失敗します。
COPY_FILE_RESUME_FROM_PAUSE も指定されている場合、宛先ファイルに有効な再起動ヘッダーがない場合にのみエラーがトリガーされます。 |
COPY_FILE_RESTARTABLE0x00000002 |
ファイルは、同じコピー元とコピー先のファイル名が再び使用された場合に再開できる方法でコピーされます。 これは遅くなります。 |
COPY_FILE_OPEN_SOURCE_FOR_WRITE0x00000004 |
ファイルがコピーされ、ソース ファイルが書き込みアクセス用に開かれます。 |
COPY_FILE_ALLOW_DECRYPTED_DESTINATION0x00000008 |
コピー先ファイルを暗号化できない場合でも、コピーが試行されます。 |
COPY_FILE_COPY_SYMLINK0x00000800 |
ソース・ファイルがシンボリック・リンクの場合、宛先ファイルは、ソース・シンボリック・リンクと同じファイルを指すシンボリック・リンクでもあります。 |
COPY_FILE_NO_BUFFERING0x00001000 |
コピーは、バッファーなし I/O を使用して実行され、システム キャッシュ リソースをバイパスします。 このフラグは、非常に大きなファイル コピーに推奨されます。 このフラグを使用しているコピーを一時停止することはお勧めしません。 |
COPY_FILE_REQUEST_SECURITY_PRIVILEGES0x00002000 |
コピーが試行され、ソース ファイルの ACCESS_SYSTEM_SECURITY とコピー先ファイルの ACCESS_SYSTEM_SECURITY \| WRITE_DAC \| WRITE_OWNER が指定されます。 これらの要求が拒否された場合、アクセス要求はアクセスが許可される最高の特権レベルに減ります。 詳細については、「SACL アクセス権 」を参照してください。 これを使用すると、CopyFile2ProgressRoutine コールバックで、ファイルのセキュリティ属性のコピーなど、より高い特権を必要とする操作を実行できます。 |
COPY_FILE_RESUME_FROM_PAUSE0x00004000 |
コピー先のファイルは、COPY_FILE_RESTARTABLEを使用してコピーされたかどうかを確認するために調べられました。 その場合、コピーが再開されます。 そうでない場合、ファイルは完全にコピーされます。 |
COPY_FILE_NO_OFFLOAD0x00040000 |
Windows コピー オフロード メカニズムを使用しないでください。 これは一般的には推奨されません。 |
COPY_FILE_IGNORE_EDP_BLOCK0x00400000 |
ファイルをブロックするのではなく、コピー先のファイル システムでサポートされている場合は、コピー先で暗号化する必要があります。 Windows 10 以降でサポートされています。 |
COPY_FILE_IGNORE_SOURCE_ENCRYPTION0x00800000 |
ソース ファイルの暗号化された状態は無視します。 Windows 10 以降でサポートされています。 |
COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC0x02000000 |
転送先のファイル アクセスのWRITE_DACを要求しないでください。 Windows 10 以降でサポートされています。 |
COPY_FILE_OPEN_AND_COPY_REPARSE_POINT0x00200000 |
タイプに関係なく、必ず再解析ポイントをコピーしてください。 再解析ポイントの意味を理解するのは呼び出し元の責任です。 Windows 10 ビルド 19041 以降でサポートされています。 |
COPY_FILE_DIRECTORY0x00000080 |
ソース ファイルがディレクトリ ファイルであることを示します。 指定すると、ソース ファイルが FILE_OPEN_FOR_BACKUP_INTENT で開かれます。 ディレクトリ ファイルには、代替データ ストリーム、再解析ポイント情報、EA が通常のファイルのようにコピーされます。
Windows 10 ビルド 19041 以降でサポートされています。 |
COPY_FILE_SKIP_ALTERNATE_STREAMS0x00008000 |
代替データ ストリームをコピーしないでください。 Windows 10 ビルド 19041 以降でサポートされています。 |
COPY_FILE_DISABLE_PRE_ALLOCATION0x04000000 |
コピーを実行する前に、コピー先のファイル サイズを事前に割り当てないでください。 Windows 10 ビルド 19041 以降でサポートされています。 |
COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE0x08000000 |
LowFreeSpace モードを有効にします。 重複する I/O は使用されません。 ODX および SMB オフロードは試行されません。 Windows 10 ビルド 19041 以降でサポートされています。 |
COPY_FILE_REQUEST_COMPRESSED_TRAFFIC0x10000000 |
コピー操作中に、基になる転送チャネルにデータの圧縮を要求します。 要求はすべてのメディアでサポートされていない場合があり、その場合は無視されます。 圧縮属性とパラメーター (計算の複雑さ、メモリ使用量) は、この API では構成できません。また、異なる OS リリース間で変更される可能性があります。 このフラグは、Windows 10 バージョン 1903 および Windows Server 2022 で導入されました。 Windows 10 では、SMB 共有に存在するファイルに対してフラグがサポートされます。この場合、ネゴシエートされた SMB プロトコルのバージョンは SMB v3.1.1 以降です。 |
COPY_FILE_ENABLE_SPARSE_COPY0x20000000 |
コピー中にファイルのスパース状態を保持できるようにします。 Windows 11 でサポートされています。ビルド 22H2 以降。 |
pfCancel
このフラグがコピー操作中に TRUE
pProgressRoutine
ファイルの別の部分がコピーされるたびに呼び出される PCOPYFILE2_PROGRESS_ROUTINE 型のコールバック関数の省略可能なアドレス。 このパラメーターは NULL
pvCallbackContext
CopyFile2ProgressRoutineに渡されるアプリケーション固有のコンテキスト情報へのポインター。
dwCopyFlagsV2
これらのフラグ値の 0 個以上の組み合わせを含みます。
価値 | 意味 |
---|---|
COPY_FILE2_V2_DONT_COPY_JUNCTIONS0x00000001 |
ジャンクションのコピーを無効にします。 |
ioDesiredSize
随意。 I/O 操作ごとに要求されたサイズ (バイト単位) (つまり、ファイルのコピー中に 1 回の読み取り/書き込みサイクル)。 メモリが不足している場合は、この問題が軽減される可能性があります。 0 の場合、既定のサイズが使用されます。 ioDesiredRate も指定
ioDesiredRate
随意。 要求された平均 I/O レート (KB/秒)。 ゼロの場合、コピーは可能な限り高速に実行されます。
pProgressRoutineOld
SourceOplockKeys
reserved[6]
reserved[7]
reserved[8]
pProgressRoutineOldを
備考
この構造を使用するアプリケーションをコンパイルするには、_WIN32_WINNT マクロを _WIN32_WINNT_WIN8 以降として定義します。 詳細については、「Windows ヘッダーの使用」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 11 [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
ヘッダー | winbase.h (Windows.h を含む) |
関連項目
CopyFile2 の
Windows ヘッダー の使用の