MoveFileExW

既存のファイルまたはディレクトリ(子を含む)を、さまざまな移動オプションとともに移動する。(Unicode)

MoveFileExW lpExistingFileName, lpNewFileName, dwFlags

lpExistingFileName : [wstr] ローカルコンピュータ上のファイルまたはディレクトリの現在の名前。dwFlags に MOVEFILE_DELAY_UNTIL_REBOOT が指定されている場合、遅延操作はネットワーク利用可能前に実行されるため、リモート共有上のファイルであってはならない。この関数の ANSI 版では、名前は MAX_PATH 文字に制限される。この上限を 32,767 ワイド文字まで拡張するには、この関数の Unicode 版を呼び、パスの先頭に "\\?\" を付加する。詳細は「ファイルの命名」を参照。
lpNewFileName : [wstr] ローカルコンピュータ上のファイルまたはディレクトリの新しい名前。ファイルを移動する場合、移動先は別のファイルシステムやボリュームでもよい。移動先が別のドライブである場合、dwFlags に MOVEFILE_COPY_ALLOWED フラグを設定しなければならない。ディレクトリを移動する場合、移動先は同じドライブでなければならない。dwFlags に MOVEFILE_DELAY_UNTIL_REBOOT が指定され lpNewFileName が NULL の場合、MoveFileEx はシステム再起動時に削除する対象として lpExistingFileName を登録する。lpExistingFileName がディレクトリを参照する場合、再起動時にシステムはディレクトリが空の場合にのみ削除する。この関数の ANSI 版では、名前は MAX_PATH 文字に制限される。この上限を 32,767 ワイド文字まで拡張するには、この関数の Unicode 版を呼び、パスの先頭に "\\?\" を付加する。詳細は「ファイルの命名」を参照。
dwFlags : [int] 

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

解説

既存のファイルまたはディレクトリ(子を含む)を、さまざまな移動オプションとともに移動する。(Unicode)

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

[備考]
dwFlags 引数に MOVEFILE_DELAY_UNTIL_REBOOT が指定されている場合、MoveFileEx
はレジストリにアクセスできないと失敗する。関数は、再起動時にリネーム対象となるファイルの位置を、次のレジストリ値に保存する:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\PendingFileRenameOperations
このレジストリ値は REG_MULTI_SZ 型である。各リネーム操作は、削除かどうかに応じて、次のいずれかの null
終端文字列を保存する。
(以下省略)

情報

プラグイン / モジュール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