SetCalendarInfoW

カレンダーに関するロケール情報の項目を設定する。詳細は「日付とカレンダー」を参照。(Unicode)

SetCalendarInfoW Locale, Calendar, CalType, lpCalData

Locale : [int] ロケールを指定するロケール識別子。MAKELCID マクロで作成するか、次の定義済み値のいずれかを使用できる。
Calendar : [int] 情報を設定する対象カレンダーのカレンダー識別子。
CalType : [int] 設定するカレンダー情報の種類。この関数で有効なのは以下の CALTYPE 値のみである。CAL_USE_CP_ACP 定数は ANSI 版でのみ意味を持つ。
lpCalData : [wstr] null 終端のカレンダー情報文字列へのポインタ。情報は指定したカレンダー種別の形式でなければならない。

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

解説

カレンダーに関するロケール情報の項目を設定する。詳細は「日付とカレンダー」を参照。(Unicode)

[戻り値]
成功した場合は非ゼロ、それ以外は 0 を返す。拡張エラー情報を取得するには GetLastError
を呼び出す。次のいずれかのエラーコードが返されることがある:
(以下省略)

[備考]
この関数はカレンダー設定のユーザーオーバーライド部分のみに影響し、システム既定は設定しない。カレンダー情報は Unicode 版では常に
null 終端の Unicode 文字列として、ANSI 版では null 終端の ANSI
文字列として渡される。整数は許可されておらず、数値はすべて Unicode または ANSI テキストで指定する必要がある。ANSI 版を
Unicode 専用ロケール識別子で呼び出した場合、OS
がシステムコードページを使用するため関数は成功することがある。ただしシステムコードページで未定義の文字は、文字列中でクエスチョンマーク
(?) として現れる。CAL_ITWODIGITYEARMAX
は、指定したロケールで対象カレンダーがサポートされていなくても、任意のカレンダーで使用できる。複雑化を避けるため、アプリケーションは
EnumCalendarInfo を呼び出して対象ロケールでそのカレンダーがサポートされていることを確認すべきである。
> [!NOTE] > winnls.h ヘッダは SetCalendarInfo を、UNICODE プリプロセッサ定数の定義に応じて
ANSI 版または Unicode
版を自動選択するエイリアスとして定義する。エンコーディング中立なエイリアスと中立でないコードを混在させると、コンパイルエラーや実行時エラーを引き起こすことがある。詳細は
[関数プロトタイプの規約](/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