識別子で指定したロケールのカレンダーに関する情報を取得する。(Unicode)
GetCalendarInfoW Locale, Calendar, CalType, lpCalData, cchData, lpValue
Locale : [int] カレンダー情報を取得するロケールを指定するロケール識別子。MAKELCID マクロでロケール識別子を作成することも、次の定義済み値のいずれかを使うこともできる。 Calendar : [int] カレンダー識別子。 CalType : [int] 取得する情報の種類。詳細は Calendar Type Information を参照。注意: GetCalendarInfo は、このパラメータが CAL_IYEAROFFSETRANGE または CAL_SERASTRING を指定している場合、文字列を 1 つだけ返す。どちらの場合も現在の時代が返される。CAL_USE_CP_ACP はこの関数の ANSI 版でのみ意味を持つ。CAL_NOUSEROVERRIDE の場合、関数は SetCalendarInfo で設定された値を無視し、現在のシステム既定ロケールのデータベース設定を使う。この種類は CAL_NOUSEROVERRIDE | CAL_ITWODIGITYEARMAX の組み合わせでのみ意味を持つ。CAL_ITWODIGITYEARMAX は SetCalendarInfo で設定可能な唯一の値である。 lpCalData : [wstr] 要求されたデータを文字列としてこの関数が取得するバッファへのポインタ。CalType に CAL_RETURN_NUMBER が指定されている場合、このパラメータは NULL を取得する必要がある。 cchData : [int] lpCalData バッファのサイズを文字数で指定する。アプリケーションはこのパラメータを 0 に設定することで、カレンダーデータバッファに必要なサイズを取得できる。その場合、lpCalData パラメータは使われない。CalType に CAL_RETURN_NUMBER が指定されている場合、cchData の値は 0 でなければならない。 lpValue : [var] 要求されたデータを数値として受け取る変数へのポインタ。CalType に CAL_RETURN_NUMBER が指定されている場合、lpValue は NULL であってはならない。CalType に CAL_RETURN_NUMBER が指定されていない場合、lpValue は NULL でなければならない。
(プラグイン / モジュール : kernel32.dll)
識別子で指定したロケールのカレンダーに関する情報を取得する。(Unicode) [戻り値] 成功した場合、cchData が 0 以外の値に設定されているとき、lpCalData バッファに取得された文字数を返す。関数が成功し、cchData が 0 に設定され、CAL_RETURN_NUMBER が指定されていない場合、戻り値はカレンダー情報を保持するのに必要なバッファサイズである。関数が成功し、cchData が 0 に設定され、CAL_RETURN_NUMBER が指定されている場合、戻り値は lpValue に取得される値のサイズ、すなわち Unicode 版では 2、ANSI 版では 4 である。成功しなかった場合は 0 を返す。拡張エラー情報を取得するには GetLastError を呼び出すことができ、次のいずれかのエラーコードが返ることがある。 (以下省略) [備考] 注意: この API は 2019 年 5 月の日本の改元に対応するために更新中である。アプリケーションが日本のカレンダーをサポートする場合、新しい時代を正しく扱えることを検証する必要がある。詳細は「日本の改元に向けてアプリケーションを準備する」を参照。この関数の ANSI 版を Unicode 専用ロケール識別子と共に使った場合、OS がシステムコードページを使うため呼び出しが成功することがある。ただし、システムコードページで未定義の文字は文字列中で疑問符(?)として表示される。 > [!NOTE] > winnls.h ヘッダでは GetCalendarInfo が、UNICODE プリプロセッサ定数の定義に応じて自動的に ANSI 版または Unicode 版を選択するエイリアスとして定義されている。エンコーディング中立のエイリアスを中立でないコードと混在させるとコンパイルや実行時のエラーになる可能性がある。詳細は [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |