GetFileTime

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

GetFileTime hFile, lpCreationTime, lpLastAccessTime, lpLastWriteTime

hFile : [intptr] 日付と時刻を取得するファイルまたはディレクトリへのハンドル。ハンドルは GENERIC_READ アクセス権付きで CreateFile 関数によって作成されている必要がある。詳細は File Security and Access Rights を参照。
lpCreationTime : [var] ファイルまたはディレクトリが作成された日時を受け取る FILETIME 構造体へのポインタ。アプリケーションがこの情報を必要としない場合、本パラメータを NULL にできる。
lpLastAccessTime : [var] ファイルまたはディレクトリに最後にアクセスした日時を受け取る FILETIME 構造体へのポインタ。最終アクセス時刻は、ファイルまたはディレクトリへの最後の書き込み・読み取り、実行可能ファイルの場合は最後の実行を含む。アプリケーションがこの情報を必要としない場合、本パラメータを NULL にできる。
lpLastWriteTime : [var] ファイルまたはディレクトリに最後に書き込み・切り詰め・上書き(例えば WriteFileSetEndOfFile による)が行われた日時を受け取る FILETIME 構造体へのポインタ。この日時は、ファイル属性やセキュリティ記述子が変更されても更新されない。アプリケーションがこの情報を必要としない場合、本パラメータを NULL にできる。

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

解説

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

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

[備考]
すべてのファイルシステムが作成時刻と最終アクセス時刻を記録できるわけではなく、また同じ方法で記録するとも限らない。例えば FAT
では、作成時刻の解像度は 10 ミリ秒、書き込み時刻の解像度は 2 秒、アクセス時刻の解像度は 1
日(実質はアクセス日付)である。したがって GetFileTime 関数が返すファイル時刻情報は SetFileTime
関数で設定したものと同じになるとは限らない。NTFS は、最終アクセス時刻の更新を最後のアクセスから最大 1 時間遅らせる。NTFS
は最終アクセス時刻の更新を無効化することもできる。NTFS ボリュームでは既定で最終アクセス時刻は更新されない。Windows
Server 2003 および Windows XP: NTFS ボリュームでは既定で最終アクセス時刻が更新される。詳細は File
Times を参照。ファイルの名前を変更したり削除した直後に復元する場合、Windows
は復元するファイル情報をキャッシュから検索する。キャッシュされる情報には短い名前と長い名前のペアおよび作成時刻が含まれる。

情報

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