CopyFileW

既存のファイルを新しいファイルにコピーする。(Unicode)

CopyFileW lpExistingFileName, lpNewFileName, bFailIfExists

lpExistingFileName : [wstr] 既存ファイルの名前。ANSI 版では MAX_PATH 文字に制限される。Unicode 版で 32,767 文字まで拡張するには "\\?\" をパスに付加する。ファイルが存在しない場合は CopyFile は失敗し、GetLastError は ERROR_FILE_NOT_FOUND を返す。
lpNewFileName : [wstr] 新しいファイルの名前。ANSI 版では MAX_PATH 文字に制限される。Unicode 版で 32,767 文字まで拡張するには "\\?\" をパスに付加する。
bFailIfExists : [int] TRUE で lpNewFileName のファイルがすでに存在する場合、関数は失敗する。FALSE の場合は既存ファイルを上書きして成功する。

(プラグイン / モジュール : kernel32.dll)

解説

既存のファイルを新しいファイルにコピーする。(Unicode)

[戻り値]
関数が成功した場合、戻り値は 0 以外。失敗した場合は 0。拡張エラー情報を得るには GetLastError を呼び出す。

[備考]

既存ファイルのセキュリティリソースプロパティ(ATTRIBUTE_SECURITY_INFORMATION)は新ファイルにコピーされる(Windows
8 以降)。ファイル属性もコピーされ、例えば FILE_ATTRIBUTE_READONLY
を持つファイルのコピーも同属性を持つ。先ファイルが既存で FILE_ATTRIBUTE_HIDDEN または
FILE_ATTRIBUTE_READONLY を持つ場合は ERROR_ACCESS_DENIED
で失敗する。暗号化ファイルの場合は元のキーでの暗号化を試みる。元がシンボリックリンクの場合、コピーされるのはリンクの対象ファイル。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs