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。 若要取得延伸的錯誤資訊,應用程式可以呼叫 GetLastError,這可以傳回下列其中一個錯誤碼:
- ERROR_INTERNAL_ERROR。 函式中發生意外的錯誤。
- ERROR_INVALID_FLAGS。 為旗標提供的值無效。
- ERROR_INVALID_PARAMETER。 任何參數值都無效。
備註
此函式只會影響行事曆設定的使用者覆寫部分。 它不會設定系統預設值。
行事曆資訊一律會以 Null 終止的 Unicode 字串的形式傳遞至此函式的 Unicode 版本,並在 ANSI 版本中以 Null 終止的 ANSI 字串的形式傳遞。 此函式不允許任何整數。 任何數值都必須指定為 Unicode 或 ANSI 文字。
當此函式的 ANSI 版本搭配僅限 Unicode 的地區設定識別碼使用時,函式可能會成功,因為作業系統使用系統字碼頁。 不過,系統字碼頁中未定義的字元會出現在字串中,以問號 (?) 。
CAL_ITWODIGITYEARMAX可以搭配任何行事曆使用,即使指定的地區設定不支援行事曆也一樣。 若要避免複雜情況,應用程式應該呼叫 EnumCalendarInfo ,以確保相關地區設定支援行事曆。
注意
winnls.h 標頭會將 SetCalendarInfo 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winnls.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |