SetCalendarInfoA 関数 (winnls.h)
予定表のロケール情報の項目を設定します。 詳細については、「 日付とカレンダー」を参照してください。
構文
BOOL SetCalendarInfoA(
[in] LCID Locale,
[in] CALID Calendar,
[in] CALTYPE CalType,
[in] LPCSTR lpCalData
);
パラメーター
[in] Locale
ロケール を指定するロケール識別子。 MAKELCID マクロを使用してロケール識別子を作成するか、次のいずれかの定義済み値を使用できます。
次のカスタム ロケール識別子もサポートされています。[in] Calendar
情報 を設定する予定表の予定表識別子。
[in] CalType
設定する予定表情報の種類。 この関数では、次の CALTYPE 値のみが有効です。 CAL_USE_CP_ACP定数は、ANSI バージョンの関数に対してのみ意味があります。
- CAL_USE_CP_ACP
- CAL_ITWODIGITYEARMAX
[in] lpCalData
null で終わる予定表情報文字列へのポインター。 情報は、指定したカレンダーの種類の形式である必要があります。
戻り値
成功した場合は 0 以外の値を返し、それ以外の場合は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。これにより、次のいずれかのエラー コードが返されます。
- ERROR_INTERNAL_ERROR。 関数で予期しないエラーが発生しました。
- ERROR_INVALID_FLAGS。 フラグに指定された値が無効でした。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
解説
この関数は、予定表設定のユーザーオーバーライド部分にのみ影響します。 システムの既定値は設定されません。
カレンダー情報は、この関数の Unicode バージョンでは null で終わる Unicode 文字列として、ANSI バージョンでは null で終わる ANSI 文字列として常に渡されます。 この関数では整数は使用できません。 数値は、Unicode または ANSI テキストとして指定する必要があります。
この関数の ANSI バージョンを Unicode のみのロケール識別子と共に使用すると、オペレーティング システムでシステム コード ページが使用されるため、関数は成功する可能性があります。 ただし、システム コード ページで未定義の文字は、文字列に疑問符 (?) として表示されます。
CAL_ITWODIGITYEARMAXは、指定したロケールでカレンダーがサポートされていない場合でも、任意の予定表で使用できます。 複雑さを避けるために、アプリケーションは EnumCalendarInfo を呼び出して、目的のロケールでカレンダーがサポートされていることを確認する必要があります。
Note
winnls.h ヘッダーは、SetCalendarInfo をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winnls.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |