XInput-Versionen

XInput ist eine plattformübergreifende API, die zur Verwendung auf Xbox und Windows ausgeliefert wurde. Auf der Xbox wird XInput als statische Bibliothek bereitgestellt, die in der ausführbaren Hauptspieldatei kompiliert wird. Unter Windows wird XInput als DLL bereitgestellt, die in den Systemordnern des Betriebssystems installiert ist.

Es gibt drei aktuelle Versionen der XInput-DLL. Wählen Sie die entsprechende Version der XInput-API basierend auf der Funktionalität aus, die Sie verwenden möchten, sowie der Windows-Versionen, die Sie unterstützen wollen.

  • XInput 1.4: XInput 1.4 wird als Teil von Windows 10 ausgeliefert. Verwenden Sie diese Version zum Erstellen von UWP-Apps.
  • XInput 9.1.0: XInput 9.1.0 wird als Teil von Windows Vista, Windows 7 und Windows 8 ausgeliefert. Verwenden Sie diese Version, wenn Ihre Desktop-App auf diesen Windows-Versionen ausgeführt werden soll, und Sie Standardfunktionen von XInput verwenden möchten.
  • XInput 1.3: XInput 1.3 wird als weitervertreibbare Komponente in der DirectX-SDK mit Unterstützung für Windows Vista, Windows 7 und Windows 8 ausgeliefert. Verwenden Sie diese Version, wenn Ihre Desktop-App auf diesen Windows-Versionen ausgeführt werden soll, und Sie Funktionen benötigen, die von XInput 9.1.0 nicht unterstützt werden.

XInput 1.4

XInput 1.4 wird aktuell als Systemkomponente in Windows 8 in Form der XINPUT1_4.DLL ausgeliefert. Sie ist als Teil des Paktes verfügbar und erfordert keine Weiterverteilung mit einer Anwendung. Das Windows Software Development Kit (SDK) enthält die Header- und Importbibliothek für die statische Verknüpfung mit der XINPUT1_4.DLL. Informationen zum Herunterladen des Windows 8-SDKs finden Sie unter Downloads für die Entwicklung von Desktop-Apps.

XInput 1.4 hat gegenüber anderen Versionen von XInput die folgenden wesentlichen Vorteile:

  • Dies ist die einzige Version, die in C++/DirectX Windows Store-Apps verwendet werden kann.
  • Die neue XInputGetAudioDeviceIds-Funktion stellt eine Zeichenfolge für die Audiogeräte-ID bereit, mit deren Hilfe Sie eine XAudio2-Masterstimme oder ein XAudio2-Audiogerät für ein Headset öffnen können, das an einen Controller angeschlossen ist. Die XInputGetDSoundAudioDeviceGuids-Funktion ist in dieser Version nicht verfügbar.
  • XInput 1.4 bietet verbesserte Meldungen zu Gerätefunktionen, einschließlich XINPUT_CAPS_WIRELESS-, XINPUT_CAPS_FFB_SUPPORTED-, XINPUT_CAPS_PMD_SUPPORTED- und XINPUT_CAPS_NO_NAVIGATION-Flags sowie genauere Meldungen zum XINPUT_CAPS_VOICE_SUPPORTED-Flag. Diese Flags werden im Flags-Element der XINPUT_CAPABILITIES-Struktur kombiniert. Die XInputGetCapabilities-Funktion gibt die XINPUT_CAPABILITIES-Struktur zurück.

XInput 9.1.0

Wie XInput 1.4 wird XInput 9.1.0 aktuell als Systemkomponente in Windows 10, Windows 8.x, Windows 7 und Windows Vista in Form der XINPUT9_1_0.DLL ausgeliefert. Die API wird hauptsächlich aus Gründen der Abwärtskompatibilität mit vorhandenen Anwendungen beibehalten. Sie verfügt über einen reduzierten Funktionsumfang, daher wird empfohlen, nach Möglichkeit XInput 1.4 zu verwenden. Es ist jedoch praktisch, diese API für Anwendungen zu verwenden, die auf Downlevel-Versionen von Windows ausgeführt werden müssen, aber nicht die zusätzlichen Audiofunktionen benötigen, die von XInput 1.4 oder XInput 1.3 bereitgestellt werden.

Das Windows SDK enthält die Header- und Importbibliothek für die statische Verknüpfung mit der XINPUT9_1_0.DLL.

XInput 9.1.0 hat gegenüber anderen Versionen von XInput die folgenden wesentlichen Nachteile:

  • Aus Gründen der Abwärtskompatibilität gibt die XInputGetCapabilities-Funktion in dieser Version von XInput nur festgelegte Funktionsinformationen zurück. Unabhängig vom angeschlossenen Controllergerät meldet XInputGetCapabilities in XInput 9.1.0 immer einen Geräteuntertyp von „GAMEPAD“. Die Funktion gibt auch dann kein XINPUT_CAPS_WIRELESS-Funktionsbit zurück, wenn ein drahtloses Gerät verbunden ist.
  • Sie können das Headset für eine bestimmte Benutzer-ID nicht ermitteln. Die XInputGetAudioDeviceIds-Funktion ist nicht verfügbar, und die XInputGetDSoundAudioDeviceGuids-Funktion gibt unter Windows 8.x oder Windows 10 keine Ergebnisse zurück.
  • Die XInputEnable-, XInputGetBatteryInformation und XInputGetKeystroke-Funktion sind nicht verfügbar.

XInput 1.3

Einige frühere Versionen von XInput wurden als verteilbare DLLs im DirectX-SDK bereitgestellt. Die erste weiterverteilbare Version von XInput, XInput 1.1, wurde als Teil des April 2006-Releases des DirectX-SDKs ausgeliefert. Die letzte Version, die im Rahmen des DirectX-SDKs ausgeliefert wurde, war XInput 1.3. Diese Version war im Juni 2010-Release des älteren DirectX-SDKs verfügbar. Das DirectX-SDK ist unter Microsoft Downloads nicht mehr verfügbar.

Sie können XInput 1.3 für Anwendungen verwenden, die Downlevel-Versionen von Windows unterstützen und Funktionen erfordern, die von XInput 9.1.0 nicht bereitgestellt werden (d. h. korrekte Meldungen zu Untertypen, Audiounterstützung, Unterstützung für explizite Meldungen zum Akku usw.).