> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GetDeviceInfo (Deprecated)

> Accesses static information about the full properties and capabilities of an input device (removed in v4).

> [!WARNING]
>
> **Deprecated.** This method was removed in GameInput v4 and is not available in the current API. Use the individual getter methods on [IGameInputDevice](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md) instead, such as [GetVendorId](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getvendorid.md) and [GetRacingWheelInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getracingwheelinfo.md). For a mapping of each [GameInputDeviceInfo](https://docs.xbox.com/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) member to its replacement, see the Remarks section of that page.

Accesses static information about the full properties and capabilities of an input device.

## Syntax

```cpp theme={null}
HRESULT GetDeviceInfo(
    const GameInputDeviceInfo** info
);
```

### Parameters

*info*   \_Outptr\_\
Type: GameInputDeviceInfo\*\*

The device info associated with the IGameInputDevice.

### Return value

Type: HRESULT

Function result.

## Remarks

The `GetDeviceInfo` method memory is not owned by the application. The memory will remain accessible if the `IGameInput` instance is kept alive by the application. Once the reference to the `IGameInput` object is released, the memory goes away.

The following code example demonstrates how to determine whether a racing wheel has a clutch.

```cpp theme={null}
bool HasClutch(IGameInputDevice* wheel) noexcept
{
    const GameInputDeviceInfo* wheelInfo = nullptr;
    const bool succeeded = SUCCEEDED(wheel->GetDeviceInfo(&wheelInfo));
    assert(succeeded);
    assert(wheelInfo->racingWheelInfo);

    const bool hasClutch = wheelInfo->racingWheelInfo->hasClutch;

    return hasClutch;
}
```

## Requirements

**Header:** GameInput.h

## See also

[Deprecated GameInput API members](https://docs.xbox.com/reference/input/gameinput/deprecated/gameinput_deprecated_members.md)\
[Overview of GameInput](https://docs.xbox.com/build/core-features/common/input/overviews/input-overview.md)\
[GameInputDeviceInfo](https://docs.xbox.com/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md)\
[IGameInputDevice](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Version History

| Version | Changes |
| - | - |
| **v4** | Removed. |
| **v3** | Signature unchanged. [GameInputDeviceInfo](https://docs.xbox.com/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) extended: `controllerInfo` added (replacing separate axis/button/switch count+info fields and `uiNavigationInfo`); `inputReportCount`/`inputReportInfo` and `outputReportCount`/`outputReportInfo` added; `hapticFeedbackMotorInfo` removed. |
| **v2** | Signature unchanged. [GameInputDeviceInfo](https://docs.xbox.com/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) extended with `revisionNumber`, `hardwareVersion`, `firmwareVersion`, `containerId`, and `sensorsInfo`. |
| **v1** | Signature unchanged. [GameInputDeviceInfo](https://docs.xbox.com/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) was significantly simplified: `infoSize`, `interfaceNumber`, `collectionNumber`, `capabilities`, touch/haptic/string/descriptor fields removed; `supportedSystemButtons`, `displayName`, and `pnpPath` added. |
| **v0** | Introduced. |


## Related topics

- [GetDeviceInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getdeviceinfo.md)
- [GameInputDeviceInfo (Deprecated)](https://docs.xbox.com/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md)
- [IGameInputDevice::GetSensorsInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsensorsinfo.md)
- [IGameInputDevice::GetKeyboardInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getkeyboardinfo.md)
- [IGameInputDevice::GetMouseInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getmouseinfo.md)
