既存ファイルを新しいファイルにコピーし、コールバック関数を通じて進捗をアプリケーションに通知する。(CopyFileExW)
CopyFileExW lpExistingFileName, lpNewFileName, lpProgressRoutine, lpData, pbCancel, dwCopyFlags
lpExistingFileName : [wstr] 既存ファイルの名前。 lpNewFileName : [wstr] 新しいファイルの名前。 lpProgressRoutine : [int] ファイルの一部がコピーされるたびに呼ばれる、LPPROGRESS_ROUTINE 型のコールバック関数のアドレス。このパラメータは NULL でも構わない。進捗コールバック関数の詳細は CopyProgressRoutine 関数を参照。 lpData : [intptr] コールバック関数に渡される引数。このパラメータは NULL でも構わない。 pbCancel : [var] コピー操作中にこのフラグが TRUE に設定されると、操作がキャンセルされる。そうでなければコピー操作は完了まで続行される。 dwCopyFlags : [int] ファイルのコピー方法を指定するフラグ。このパラメータは以下の値の組み合わせで指定できる。
(プラグイン / モジュール : kernel32.dll)
既存ファイルを新しいファイルにコピーし、コールバック関数を通じて進捗をアプリケーションに通知する。(CopyFileExW) [戻り値] 関数が成功した場合、戻り値はゼロ以外。関数が失敗した場合、戻り値はゼロ。拡張エラー情報を取得するには GetLastError を呼ぶ。ユーザが操作をキャンセルして lpProgressRoutine が PROGRESS_CANCEL を返した場合、CopyFileEx はゼロを返し GetLastError は ERROR_REQUEST_ABORTED を返す。この場合、部分的にコピーされたコピー先ファイルは削除される。lpProgressRoutine が PROGRESS_STOP を返した場合、CopyFileEx はゼロを返し GetLastError は ERROR_REQUEST_ABORTED を返す。この場合、部分的にコピーされたコピー先ファイルはそのまま残される。 [備考] この関数は拡張属性、OLE 構造化ストレージ、NTFS 代替データストリーム、セキュリティリソース属性、ファイル属性を保持する。Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: 既存ファイルのセキュリティリソース属性 (ATTRIBUTE_SECURITY_INFORMATION) は、Windows 8 および Windows Server 2012 までは新しいファイルにコピーされなかった。既存ファイルのセキュリティリソースプロパティ (ATTRIBUTE_SECURITY_INFORMATION) は新しいファイルにコピーされる。Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: 既存ファイルのセキュリティリソースプロパティは、Windows 8 および Windows Server 2012 までは新しいファイルにコピーされなかった。コピー先ファイルがすでに存在し FILE_ATTRIBUTE_HIDDEN または FILE_ATTRIBUTE_READONLY 属性が設定されている場合、この関数は ERROR_ACCESS_DENIED で失敗する。暗号化されたファイルを CopyFileEx でコピーする場合、関数はソースファイルの暗号化に使われた鍵でコピー先ファイルを暗号化しようとする。それができない場合、既定の鍵で暗号化を試みる。どちらもできない場合、CopyFileEx は ERROR_ENCRYPTION_FAILED エラーコードで失敗する。コピー先ファイルが暗号化できない場合でも CopyFileEx にコピー操作を完了させたいなら、dwCopyFlags パラメータに COPY_FILE_ALLOW_DECRYPTED_DESTINATION を含める。 COPY_FILE_COPY_SYMLINK が指定された場合、以下のルールが適用される。 (以下省略)
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |