既存ファイルを新しいファイルにトランザクション操作としてコピーし、コールバック関数を通じて進捗をアプリケーションに通知する。(Unicode)
CopyFileTransactedW lpExistingFileName, lpNewFileName, lpProgressRoutine, lpData, pbCancel, dwCopyFlags, hTransaction
lpExistingFileName : [wstr] 既存ファイルの名前。この関数の ANSI 版では、名前は MAX_PATH 文字に制限されている。この制限を 32,767 ワイド文字まで拡張するには、Unicode 版を呼びパスの先頭に "\\?\" を付ける。詳細は Naming a File を参照。lpExistingFileName が存在しない場合、CopyFileTransacted 関数は失敗し、GetLastError 関数は ERROR_FILE_NOT_FOUND を返す。ファイルはローカルコンピュータ上に存在しなければならない。そうでない場合、関数は失敗し最終エラーコードは ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE に設定される。 lpNewFileName : [wstr] 新しいファイルの名前。この関数の ANSI 版では、名前は MAX_PATH 文字に制限されている。この制限を 32,767 ワイド文字まで拡張するには、Unicode 版を呼びパスの先頭に "\\?\" を付ける。詳細は Naming a File を参照。 lpProgressRoutine : [int] ファイルの一部がコピーされるたびに呼ばれる、LPPROGRESS_ROUTINE 型のコールバック関数のアドレス。このパラメータは NULL でも構わない。進捗コールバック関数の詳細は CopyProgressRoutine 関数を参照。 lpData : [intptr] コールバック関数に渡される引数。このパラメータは NULL でも構わない。 pbCancel : [var] コピー操作中にこのフラグが TRUE に設定されると、操作がキャンセルされる。そうでなければコピー操作は完了まで続行される。 dwCopyFlags : [int] ファイルのコピー方法を指定するフラグ。このパラメータは以下の値の組み合わせで指定できる。 hTransaction : [intptr] トランザクションへのハンドル。このハンドルは CreateTransaction 関数が返す。
(プラグイン / モジュール : kernel32.dll)
既存ファイルを新しいファイルにトランザクション操作としてコピーし、コールバック関数を通じて進捗をアプリケーションに通知する。(Unicode) [戻り値] 関数が成功した場合、戻り値はゼロ以外。関数が失敗した場合、戻り値はゼロ。拡張エラー情報を取得するには GetLastError を呼ぶ。ユーザが操作をキャンセルして lpProgressRoutine が PROGRESS_CANCEL を返した場合、CopyFileTransacted はゼロを返し GetLastError は ERROR_REQUEST_ABORTED を返す。この場合、部分的にコピーされたコピー先ファイルは削除される。lpProgressRoutine が PROGRESS_STOP を返した場合、CopyFileTransacted はゼロを返し GetLastError は ERROR_REQUEST_ABORTED を返す。この場合、部分的にコピーされたコピー先ファイルはそのまま残される。すでにロールバックされたトランザクションのハンドルでこの関数を呼ぶと、CopyFileTransacted は ERROR_TRANSACTION_NOT_ACTIVE または ERROR_INVALID_TRANSACTION を返す。 [備考] この関数は拡張属性、OLE 構造化ストレージ、NTFS 代替データストリーム、セキュリティ属性、ファイル属性を保持する。Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista: 既存ファイルのセキュリティリソース属性 (ATTRIBUTE_SECURITY_INFORMATION) は、Windows 8 および Windows Server 2012 までは新しいファイルにコピーされなかった。コピー先ファイルがすでに存在し FILE_ATTRIBUTE_HIDDEN または FILE_ATTRIBUTE_READONLY 属性が設定されている場合、この関数は ERROR_ACCESS_DENIED で失敗する。暗号化されたファイルは TxF ではサポートされない。 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 |