XInput のバージョン
XInput は、Xbox と Windows で使用するために出荷されたクロスプラットフォーム API です。 Xbox では、XInput はメイン ゲーム実行可能ファイルにコンパイルされるスタティック ライブラリとして出荷されます。 Windows では、XInput はオペレーティング システムのシステム フォルダーにインストールされる DLL として提供されます。
現在、XInput DLL の現在のバージョンは 3 つあります。 使用する 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 は、Windows Vista、Windows 7、および Windows 8 をサポートする DirectX SDK の再頒布可能コンポーネントとして出荷されます。 デスクトップ アプリがこれらのバージョンの 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 1.4 には、他のバージョンの XInput よりも次の主な利点があります。
- これは、C++/DirectX Windows ストア アプリで使用できる唯一のバージョンです。
- 新しい XInputGetAudioDeviceIds 関数は、コントローラーに接続されているヘッドセットの XAudio2 マスタリング音声またはオーディオ デバイスを開くために使用できるオーディオ デバイス ID 文字列を提供します。 XInputGetDSoundAudioDeviceGuids 関数は、このバージョンでは使用できません。
- XINPUT_CAPS_WIRELESS、XINPUT_CAPS_FFB_SUPPORTED、XINPUT_CAPS_PMD_SUPPORTED、XINPUT_CAPS_NO_NAVIGATIONフラグなど、デバイス機能のレポート機能が強化され、XINPUT_CAPS_VOICE_SUPPORTEDのより正確なレポートが提供されます。 これらのフラグは、XINPUT_CAPABILITIES 構造体の Flags メンバーで結合されます。 XInputGetCapabilities 関数は、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 9.1.0 には、他のバージョンの XInput よりも次のような欠点があります。
- 下位互換性の理由から、このバージョンの XInputXInputGetCapabilitiesは、固定機能情報を返します。 接続されているコントローラー デバイスに関係なく、XInput 9.1.0 の XInputGetCapabilities は常に GAMEPAD のデバイス サブタイプを報告します。 ワイヤレス デバイスが接続されている場合でも、XINPUT_CAPS_WIRELESS機能ビットは返されません。
- 特定のユーザー ID のヘッドセットを特定することはできません。 XInputGetAudioDeviceIds 関数は使用できません。XInputGetDSoundAudioDeviceGuids関数、Windows 8.x または Windows 10 では結果が返されません。
- XInputEnable、XInputGetBatteryInformation、および XInputGetKeystroke関数使用できません。
XInput 1.3
以前のバージョンの XInput は、DirectX SDK で再頒布可能 DLL として提供されていました。 DirectX SDK の 2006 年 4 月リリースで出荷された XInput XInput 1.1 の最初の再頒布可能バージョン。 DirectX SDK に出荷する最後のバージョンは XInput 1.3 で、レガシ DirectX SDK の 2010 年 6 月リリースで入手できます。 DirectX SDK は、Microsoft ダウンロードでは使用できなくなりました。
ダウンレベルバージョンの Windows をサポートし、XInput 9.1.0 で提供されていない機能を必要とするアプリケーションには XInput 1.3 を使用できます (つまり、正しいサブタイプ レポート、オーディオ サポート、明示的なバッテリレポートのサポートなど)。