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
提供并返回的参数。 指向应复制代码页信息的结构 CodePage 的指针。
成功返回后,此参数指向的内存位置将填充满足 dwEnumOption 中条件的第一个代码页的信息。 失败时,不会对此参数指向的内存进行更改。
CodePage 结构在 SNANLS 中定义。H include 文件,如下所示:
struct CodePage {
BYTE CodePageKey;
DWORD CodePageID;
WCHAR szFriendlyName[CP_SIZE];
short eGroup;
BOOL bAvailable;
BYTE bccsid;
BOOL bEuro;
};
此 CodePage 结构的成员如下所示:
CodePageKey
一个数值,表示 CodePage 结构数组中的索引。 此值应用作不透明值,因为当支持其他代码页时,Service Pack 可以任意更改此值。
CodePageID
NLS 代码页码。
szFriendlyName
此代码页的 SNANLS 显示名称。
eGroup
此代码页所表示的组。 .此值可以是代码组的 SNANLS.h include 文件中定义的下列枚举之一:
ENUM_CP_EBCDIC
此代码页是 EBCDIC 代码页组的成员。
ENUM_CP_ANSI
此代码页是 ANSI 代码页组的成员。
ENUM_CP_ISO
此代码页是 ISO 代码页组的成员。
ENUM_CP_OEMPC
此代码页是 OEM 电脑代码页组的成员。
ENUM_CP_ISO
此代码页是 ISO 代码页组的成员。
ENUM_CP_ISO
此代码页是 ISO 代码页组的成员。
ENUM_CP_OEM电脑
此代码页是 OEM 电脑代码页组的成员。
ENUM_CP_OPEN
此代码页是 Open Systems 代码页组的成员。
ENUM_CP_UCS
此代码页是 UCS 代码页组的成员。
bAvailable
一个布尔值,用于指示计算机上已安装此代码页。 此成员的 值为 FALSE 表示不会查询计算机以确定是否安装了此代码页。 值为 TRUE 表示已安装代码页。
bccsid
用于指示代码页类型的标志。 此标志可以是下列标志之一:
ENUM_CP_DBCS (0x08)
代码页适用于双字节字符集。
ENUM_CP_MBCS (0x10)
代码页适用于混合字节字符集。
ENUM_CP_SBCS (0x20)
代码页适用于单字节字符集。
bEuro
一个布尔值,用于指示此代码页是否支持欧元符号。 如果此值为 TRUE,则支持欧元符号。
返回值
成功时,FindFirstCodePage 函数返回调用 FindNextCodePage 或 FindCloseCodePage 中使用的句柄。 失败时,将为此句柄的值返回INVALID_HANDLE_VALUE。
注解
用户不应篡改此函数返回的句柄。
主机集成服务器上的 SNANLS 支持此函数。