# SIMCONNECT_CONTROLLER_ITEM The **SIMCONNECT\_CONTROLLER\_ITEM** struct contains data related to a single controller currently connected to the simulation.     ##### Syntax ``` cpp struct SIMCONNECT_CONTROLLER_ITEM{ SIMCONNECT_STRING(DeviceName, 256); unsigned int DeviceId; unsigned int ProductId; unsigned int CompositeID; SIMCONNECT_VERSION_BASE_TYPE HardwareVersion; }; ```   ##### Members {{< table-wrapper >}} | Member | Description | |-------------------|-----------------------------------------------------------------------------------------------------------------------------------------| | `DeviceName` | A string that gives the descriptive name for the device. | | `DeviceId` | The device ID. | | `ProductId` | The product ID. | | `CompositeID` | ID of the USB composite device (for when devices have the same `ProductId`, but there are multiple recognised parts on the same device) | | `HardwareVersion` | The version data for the hardware, returned as a `SIMCONNECT_VERSION_BASE_TYPE` struct. | {{< /table-wrapper >}}   ##### Remarks See `SimConnect_EnumerateControllers` for more information.