enumTimeFormatsA 函式 (winnls.h)

列舉標識碼所指定地區設定可用的時間格式。

注意 基於互操作性考慮,應用程式應該偏好 EnumTimeFormatsEx 函式為 EnumTimeFormats, 因為 Microsoft 正移轉至使用地區設定名稱,而不是新地區設定的地區設定標識符。 只有在 Windows Vista 和更新版本上執行的任何應用程式都應該使用 EnumTimeFormatsEx
 

語法

BOOL EnumTimeFormatsA(
  [in] TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,
  [in] LCID              Locale,
  [in] DWORD             dwFlags
);

參數

[in] lpTimeFmtEnumProc

應用程式定義回呼函式的指標。 如需詳細資訊,請參閱 EnumTimeFormatsProc

[in] Locale

地區設定標識碼 ,指定要擷取時間格式信息的地區設定。 您可以使用 MAKELCID 宏來建立地區設定標識碼,或使用下列其中一個預先定義的值。

[in] dwFlags

時間格式。 此參數可以指定下列任何值的組合。

旗標 意義
0
使用目前用戶的時間長度格式。
TIME_NOSECONDS
Windows 7 和更新版本:使用目前使用者的簡短時間格式。
注意 此值不適用於此函式的 ANSI 版本 EnumTimeFormatsA
 
LOCAL_USE_CP_ACP
使用此函式的 ANSI 版本指定 ,EnumTimeFormatsA (不建議) 使用系統預設 Windows ANSI 代碼頁 (ACP) ,而不是地區設定代碼頁。

傳回值

如果成功,則傳回非零值,否則傳回 0。 若要取得延伸的錯誤資訊,應用程式可以呼叫 GetLastError,這可以傳回下列其中一個錯誤碼:

  • ERROR_INVALID_FLAGS。 為旗標的值無效。
  • ERROR_INVALID_PARAMETER。 任何參數值都無效。

備註

函式會藉由將包含時間格式的緩衝區指標傳遞至應用程式定義的回呼函式,以列舉時間格式。 列舉中的第一個值一律是用戶預設 (覆寫) 值。 函式會繼續列舉,直到找到最後一次格式,否則回呼函式會傳回 FALSE

此函式可以從 自定義地區設定列舉數據。 數據不保證從計算機到計算機或在應用程式執行之間相同。 如果您的應用程式必須保存或傳輸數據,請參閱 使用持續性地區設定數據

當此函式的 ANSI 版本搭配僅限 Unicode 的地區設定識別碼使用時,呼叫可能會成功,因為系統會使用系統代碼頁。 不過,系統代碼頁中未定義的字元會出現在字串中,以問號 (“?) 。 請注意,未來引進 之 dwFlags 的任何新值都不適用於 ANSI 版本。

注意

winnls.h 標頭會將 EnumTimeFormats 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winnls.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

EnumTimeFormatsEx

EnumTimeFormatsProc

國家語言支援

國家語言支援函式