EnumLayoutOrTipForSetup 函数

枚举安装 UI 或 OOBE 的已安装键盘布局和文本服务。

语法

UINT CALLBACK EnumLayoutOrTipForSetup(
  _In_  LANGID      langid,
  _Out_ LAYOUTORTIP *pLayoutOrTip,
  _In_  UINT        uBufLength,
  _In_  DWORD       dwFlags
);

参数

langid [in]

要枚举的项的语言 ID。

pLayoutOrTip [out]

指向接收 LAYOUTORTIP 结构数组的缓冲区的指针。 可以为 NULL 以获取项数。

uBufLength [in]

pLayoutOrTip 指向的缓冲区的长度。 如果 pLayoutOrTipNULL,则忽略此值。

dwFlags [in]

未使用。 此值必须为零。

返回值

如果 pLayoutOrTipNULL,则为在 System 中注册的键盘项数;否则,为复制到 pLayoutOrTip 中的键盘项数。

备注

没有可用于定义此函数的导入库,因此有必要使用 LoadLibraryGetProcAddress 获取指向此函数的指针。

注意

错误地使用 LoadLibrary 可能会通过加载错误的 DLL 来损害应用程序的安全性。 有关如何使用不同版本的 Microsoft Windows 正确加载 DLL 的信息,请参阅 动态链接库搜索顺序

LAYOUTORTIP 的定义是:

typedef struct tagLAYOUTORTIP {
    DWORD dwFlags;
#define LOT_DEFAULT    0x0001 // If this is on, this is a default item. 
#define LOT_DISABLED   0x0002 // if this is on, this is not enabled. 
    WCHAR szId[MAX_PATH]; // Id of the keyboard item in the string format. 
    WCHAR szName[MAX_PATH]; // The description of the keyboard item. 
} LAYOUTORTIP;

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
DLL
Input.dll