The ControllerIdentifier type exposes the following members.
A blank ControllerIdentifier.
The session id of the Controller. Get this value from id. This should be set to -1 if the Controller is not currently connected or you don't know the current id. Setting this value to 0 or greater will cause the controller session id to be used for selection.
The controller type of the Controller. Get this value from type.
The device instance GUID of the Controller. Get this value from deviceInstanceGuid. Use this to target a specific persistant device instance across sessions.
The hardware identifier of the Controller. Get this value from hardwareIdentifier. This is used primarily by Unknown Controllers to identify the controller using various information gathered from the controller. This value varies depending on the platform, input source in use, and the device.
The hardwre type GUID of the Controller. Get this value from hardwareTypeGuid. This value is used to identify recognized Controllers.