FILETIME 構造体 (minwinbase.h)

1601 年 1 月 1 日 (UTC) 以降の 100 ナノ秒間隔の数を表す 64 ビット値が含まれます。

構文

typedef struct _FILETIME {
  DWORD dwLowDateTime;
  DWORD dwHighDateTime;
} FILETIME, *PFILETIME, *LPFILETIME;

メンバー

dwLowDateTime

ファイル時刻の下位部分。

dwHighDateTime

ファイル時刻の高次部分。

注釈

FILETIME 構造体をユーザーに簡単に表示できる時刻に変換するには、FileTimeToSystemTime 関数を使用します。

相対時間を取得するために FILETIME 構造体の値を加算および減算することはお勧めしません。 代わりに、ファイル時刻の下位部分と高次部分を ULARGE_INTEGER 構造体にコピーし、 QuadPart メンバーに対して 64 ビット算術演算を実行し、 LowPart メンバーと HighPart メンバーを FILETIME 構造体にコピーする必要があります。

64 ビット Windows でアラインメント エラーが発生する可能性があるため、 FILETIME 構造体へのポインターを ULARGE_INTEGER* 値または __int64* 値にキャストしないでください。

すべてのファイル システムで作成および最終アクセス時刻を記録できるとは限りません。また、すべてのファイル システムでそれらが同じ方法で記録されるとは限りません。 たとえば、NT FAT では、作成時間の解像度は 10 ミリ秒、書き込み時間の解像度は 2 秒、アクセス時間の解像度は 1 日 (実際にはアクセス日) です。 NTFS では、アクセス時刻の分解能は 1 時間です。 したがって、 GetFileTime 関数は 、SetFileTime 関数を使用して設定された同じファイル時刻情報を返さない場合があります。 さらに、FAT はディスク上の時刻をローカル時刻に記録します。 ただし、NTFS はディスク上の時刻を UTC で記録します。 詳細については、「ファイル時間」を参照してください。

FILETIME 構造体を使用する関数では、dwLowDateTime メンバーと dwHighDateTime メンバーによって通常指定される 0 または正の値以外の値を使用できます。 たとえば、 SetFileTime 関数は 0xFFFFFFFF を使用して、ファイルの以前のアクセス時間を保持するように指定します。 詳細については、呼び出す関数のトピックを参照してください。

例については、「 ファイル時刻を現在の時刻に変更する 」または「 Last-Write 時刻の取得」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
Header minwinbase.h (Windows.h を含む)

こちらもご覧ください

CompareFileTime

ファイルの時刻

FileTimeToSystemTime

GetFileTime

ULARGE_INTEGER