XInput 版本

XInput 是一个跨平台 API,可在 Xbox 和 Windows 上使用。 在 Xbox 上,XInput 作为静态库提供,被编译为主游戏可执行文件。 在 Windows 上,XInput 作为 DLL 提供,被安装到操作系统的系统文件夹中。

目前 XInput DLL 共有三个最新版本。 请根据你使用的 XInput 功能和想要支持的 Windows 版本,选择适当的 XInput 版本。

  • XInput 1.4:XInput 1.4 作为 Windows 10 的一部分提供。 使用此版本生成 UWP 应用。
  • XInput 9.1.0:XInput 9.1.0 作为 Windows Vista、Windows 7 和 Windows 8 的一部分提供。 如果桌面应用打算在这些版本的 Windows 上运行,并且你使用的是基本的 XInput 功能,请使用此版本。
  • XInput 1.3:XInput 1.3 作为 DirectX SDK 中的可再发行组件提供,支持 Windows Vista、Windows 7 和 Windows 8。 如果桌面应用打算在这些版本的 Windows 上运行,并且你需要 XInput 9.1.0 不支持的功能,请使用此版本。

XInput 1.4

XInput 1.4 现在作为 Windows 8 中的系统组件(作为 XINPUT1_4.DLL)提供。 它是可用的“收件箱”,不需要通过应用程序重新分发。 Windows 软件开发工具包 (SDK) 包含用于针对 XINPUT1_4.DLL 进行静态链接的标头和导入库。 若要下载 Windows 8 SDK,请参阅用于开发桌面应用的下载项

与 XInput 的其他版本相比,XInput 1.4 具有以下主要优点:

  • 这是唯一可以在 C++/DirectX Windows 应用商店应用中使用的版本。
  • 新的 XInputGetAudioDeviceIds 函数提供音频设备 ID 字符串,你可以使用该字符串为连接到控制器的耳机打开 XAudio2 主语音或音频设备。 XInputGetDSoundAudioDeviceGuids 函数在此版本中不可用。
  • 提供改进的设备功能报告,包括 XINPUT_CAPS_WIRELESS、XINPUT_CAPS_FFB_SUPPORTED、XINPUT_CAPS_PMD_SUPPORTED 和 XINPUT_CAPS_NO_NAVIGATION 标志以及更准确的 XINPUT_CAPS_VOICE_SUPPORTED 报告。 这些标志在 XINPUT_CAPABILITIES 结构的 Flags 成员中进行组合。 XInputGetCapability 函数返回 XINPUT_CAPABILITIES

XInput 9.1.0

与 XInput 1.4 一样,XInput 9.1.0 目前作为 Windows 10、Windows 8.x、Windows 7 和 Windows Vista 中的系统组件(作为 XINPUT9_1_0.DLL)提供。 维护它主要是为了后向兼容现有应用程序。 它的功能集有所减少,因此我们建议你尽可能使用 XInput 1.4。 但对于必须在 Windows 低版本上运行但不需要 XInput 1.4 或 XInput 1.3 提供的附加音频功能的应用程序来说,它很方便使用。

Windows SDK 包含用于针对 XINPUT9_1_0.DLL 进行静态链接的标头和导入库。

与其他版本的 XInput 相比,XInput 9.1.0 具有以下缺点:

XInput 1.3

XInput 的某些早期版本已作为 DirectX SDK 中的可再发行 DLL 提供。 XInput 的第一个可再发行版本 XInput 1.1 随 2006 年 4 月发布的 DirectX SDK 一起发布。 DirectX SDK 中提供的最后一个版本是 XInput 1.3,可在 2010 年 6 月发布的旧版 DirectX SDK 中使用。 Microsoft 下载中不再提供 DirectX SDK

可以将 XInput 1.3 用于支持 Windows 低版本且需要 XInput 9.1.0 未提供的功能(即正确的子类型报告、音频支持、显式电池报告支持等)的应用程序。