SNA 國家語言支援(SNANLS)的 FindFirstCodePage 函式會找到符合指定條件的第一個代碼頁實例,將代碼頁資訊複製到作為參數傳遞的結構,並開啟並回傳後續呼叫 FindNextCodePage 函式時使用的句柄。
語法
const HANDLE WINAPI FindFirstCodePage(
DWORDdwEnumOption,
struct CodePage *pPage
);
參數
dwEnumOption
提供的參數。 代碼頁應滿足的條件集合。 這些條件可以是 SNANLS.h include 檔案中定義的以下值的任意組合:
ENUM_CP_AVAILABLE(0x01)
程式碼頁已安裝並可供使用。
ENUM_CP_HOST(0x02)
代碼頁是主機代碼頁(例如 EBCDIC)。
ENUM_CP_EURO(0x04)
代碼頁包含對歐元字元的支援。
ENUM_CP_DBCS(0x08)
該代碼頁是用於雙位元組字元集。
ENUM_CP_MBCS(0x10)
程式碼頁是為混合位元組字元集設計的。
ENUM_CP_SBCS(0x20)
程式碼頁是針對單位元組字元集的。
請注意,這些組合中有些情況與 SNANLS 所使用的已安裝碼頁不符。
pPage
提供與回傳參數。 一個指向結構體代碼頁的指標,代碼頁資訊應該被複製。
成功回傳後,該參數指向的記憶體位置將填入滿足 dwEnumOption 條件的第一個代碼頁資訊。 當故障時,該參數指向的記憶體不會再做任何變更。
CodePage 結構在 SNANLS 中定義。包含檔案如下:
struct CodePage {
BYTE CodePageKey;
DWORD CodePageID;
WCHAR szFriendlyName[CP_SIZE];
short eGroup;
BOOL bAvailable;
BYTE bccsid;
BOOL bEuro;
};
此代碼頁結構的成員如下:
代碼頁面鍵
一個數值,代表代碼頁結構陣列中的索引。 此值應作為不透明值使用,因為當支援額外程式碼頁時,服務包可任意更改此值。
CodePageID
NLS 代碼頁碼。
szFriendly Name
SNANLS 顯示此代碼頁的名稱。
eGroup
這個代碼頁所代表的群組。 .此值可為 SNANLS.h 包含檔案中定義的以下列舉之一:
ENUM_CP_EBCDIC
此代碼頁是 EBCDIC 代碼頁群組的成員。
ENUM_CP_ANSI
此代碼頁是 ANSI 代碼頁群組的成員。
ENUM_CP_ISO
此代碼頁是 ISO 代碼頁群組的成員。
ENUM_CP_OEMPC
此代碼頁是 OEM PC 代碼頁組的成員。
ENUM_CP_ISO
此代碼頁是 ISO 代碼頁群組的成員。
ENUM_CP_ISO
此代碼頁是 ISO 代碼頁群組的成員。
ENUM_CP_OEM PC
此代碼頁是 OEM PC 代碼頁組的成員。
ENUM_CP_OPEN
此代碼頁是開放系統代碼頁小組的成員。
ENUM_CP_UCS
此代碼頁是 UCS 代碼頁群組的成員。
b可用
使用布林值表示此代碼頁已安裝於電腦上。 此成員的 FALSE 值表示電腦不會被查詢是否安裝了此代碼頁。 TRUE 值表示代碼頁已安裝。
BCCSID
一個用來指示代碼頁類型的旗標。 此旗幟可為以下之一:
ENUM_CP_DBCS(0x08)
該代碼頁是用於雙位元組字元集。
ENUM_CP_MBCS(0x10)
程式碼頁是為混合位元組字元集設計的。
ENUM_CP_SBCS(0x20)
程式碼頁是針對單位元組字元集的。
歐洲
一個布林值用來表示此代碼頁是否支援歐元符號。 如果這個數值為 真,則支持歐元符號。
傳回值
FindFirstCodePage 函式在成功時回傳用於呼叫 FindNextCodePage 或 FindCloseCodePage 的句柄。 失敗時,會回傳 INVALID_HANDLE_VALUE 以該 handle 值值計算。
備註
此函式回傳的帳柄不應被使用者動手腳。
此功能由主機整合伺服器上的 SNANLS 支援。