EnumTimeFormatsW

識別子で指定されたロケールで利用可能な時刻形式を列挙する。注: 相互運用性の観点から、Microsoft は新しいロケールにロケール識別子の代わりにロケール名を使用する方向に移行しているため、アプリケーションは EnumTimeFormats よりも EnumTimeFormatsEx 関数を優先すべきである。Windows Vista 以降でのみ動作するアプリケーションは EnumTimeFormatsEx を使うべきである。(Unicode)

EnumTimeFormatsW lpTimeFmtEnumProc, Locale, dwFlags

lpTimeFmtEnumProc : [int] アプリケーション定義のコールバック関数へのポインタ。詳細は EnumTimeFormatsProc を参照。
Locale : [int] 時刻形式情報を取得するロケールを指定するロケール識別子。MAKELCID マクロを使ってロケール識別子を作成するか、以下の定義済み値のいずれかを使用できる。
dwFlags : [int] 

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

解説

識別子で指定されたロケールで利用可能な時刻形式を列挙する。注: 相互運用性の観点から、Microsoft
は新しいロケールにロケール識別子の代わりにロケール名を使用する方向に移行しているため、アプリケーションは EnumTimeFormats
よりも EnumTimeFormatsEx 関数を優先すべきである。Windows Vista 以降でのみ動作するアプリケーションは
EnumTimeFormatsEx を使うべきである。(Unicode)

[戻り値]
成功した場合 0 以外、それ以外の場合 0 を返す。拡張エラー情報を取得するには、アプリケーションは GetLastError
を呼ぶことができ、次のいずれかのエラーコードを返すことがある。
(以下省略)

[備考]

関数は、時刻形式を含むバッファへのポインタをアプリケーション定義のコールバック関数に渡して時刻形式を列挙する。列挙の最初の値は常にユーザーデフォルト(オーバーライド)値である。関数は最後の時刻形式が見つかるか、コールバック関数が
FALSE を返すまで列挙を続ける。

この関数はカスタムロケールからのデータを列挙できる。データはコンピュータ間やアプリケーションの実行間で同じであるとは保証されない。アプリケーションがデータを永続化または送信しなければならない場合は
Using Persistent Locale Data を参照。Unicode 専用ロケール識別子と共にこの関数の ANSI
版を使用すると、システムがシステムコードページを使うため、呼び出しは成功することがある。ただし、システムコードページで未定義の文字は文字列内で疑問符
("?") として表示される。将来導入される dwFlags の新しい値は ANSI 版では動作しないことに注意。
> [!NOTE] > winnls.h ヘッダは UNICODE プリプロセッサ定数の定義に基づき、この関数の ANSI 版または
Unicode 版を自動選択するエイリアスとして EnumTimeFormats
を定義する。エンコーディング非依存のエイリアスとエンコーディング依存のコードを混在させると、コンパイルや実行時のエラーを引き起こす不整合が生じることがある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

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