SetFileTime

指定したファイルまたはディレクトリの作成、最終アクセス、または最終更新の日時を設定する。

SetFileTime hFile, lpCreationTime, lpLastAccessTime, lpLastWriteTime

hFile : [intptr] ファイルまたはディレクトリへのハンドル。ハンドルは [CreateFile](/windows/win32/api/fileapi/nf-fileapi-createfilea) 関数を **FILE_WRITE_ATTRIBUTES** アクセス権で呼び出して作成している必要がある。詳細は [ファイルのセキュリティとアクセス権](/windows/win32/FileIO/file-security-and-access-rights) を参照。
lpCreationTime : [var] ファイルまたはディレクトリの新しい作成日時を含む [FILETIME](/windows/win32/api/minwinbase/ns-minwinbase-filetime) 構造体へのポインタ。アプリケーションがこの情報を変更する必要がない場合、このパラメータは `NULL` または **dwLowDateTime**/**dwHighDateTime** メンバを共に `0` にした **FILETIME** 構造体へのポインタに設定する。
lpLastAccessTime : [var] ファイルまたはディレクトリの新しい最終アクセス日時を含む [FILETIME](/windows/win32/api/minwinbase/ns-minwinbase-filetime) 構造体へのポインタ。最終アクセス時刻には、最後に書き込み・読み取り・(実行ファイルの場合は) 実行が行われた時刻が含まれる。アプリケーションがこの情報を変更する必要がない場合、このパラメータは `NULL` または **dwLowDateTime**/**dwHighDateTime** メンバを共に `0` にした **FILETIME** 構造体へのポインタに設定する。当該ハンドルを用いたファイル操作で最終アクセス時刻が変更されないようにするには、ファイルハンドルを開いた直後に **SetFileTime** を呼び出し、**dwLowDateTime**/**dwHighDateTime** メンバを共に `0xFFFFFFFF` にした [FILETIME](/windows/win32/api/minwinbase/ns-minwinbase-filetime) 構造体を渡す。
lpLastWriteTime : [var] ファイルまたはディレクトリの新しい最終更新日時を含む [FILETIME](/windows/win32/api/minwinbase/ns-minwinbase-filetime) 構造体へのポインタ。アプリケーションがこの情報を変更する必要がない場合、このパラメータは `NULL` または **dwLowDateTime**/**dwHighDateTime** メンバを共に `0` にした **FILETIME** 構造体へのポインタに設定する。当該ハンドルを用いたファイル操作で最終書き込み時刻が変更されないようにするには、ファイルハンドルを開いた直後に **SetFileTime** を呼び出し、**dwLowDateTime**/**dwHighDateTime** メンバを共に `0xFFFFFFFF` にした [FILETIME](/windows/win32/api/minwinbase/ns-minwinbase-filetime) 構造体を渡す。

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

解説

指定したファイルまたはディレクトリの作成、最終アクセス、または最終更新の日時を設定する。

[戻り値]
関数が成功した場合、戻り値は非ゼロである。失敗した場合はゼロである。拡張エラー情報を取得するには
[GetLastError](/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror)
を呼び出す。

[備考]
すべてのファイルシステムが作成時刻・最終アクセス時刻を記録できるわけではなく、記録方法も同じではない。例えば FAT
では作成時刻の分解能は 10 ミリ秒、書き込み時刻は 2 秒、アクセス時刻は 1 日 (実際にはアクセス日付) である。したがって
[GetFileTime](/windows/win32/api/fileapi/nf-fileapi-getfiletime) 関数は
**SetFileTime** で設定したのと同じファイル時刻情報を返さない場合がある。NTFS
はファイルの最終アクセス時刻の更新を最終アクセス時から最大 1 時間遅延させる。

情報

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