BOOL DIEnumDevicesBySemanticsCallback( LPCDIDEVICEINSTANCE lpddi, LPDIRECTINPUTDEVICE8 lpdid, DWORD dwFlags, DWORD dwRemaining, LPVOID pvRef )
- Address of a DIDEVICEINSTANCE structure that describes the device instance.
- Pointer to the IDirectInputDevice8 Interface interface for the device.
Flags that provide information about why the device is being enumerated. This can be a combination of action-mapping flags and one usage flag. At least one action-mapping flag is always present.
The DIEDBS_MAPPEDPRI1 and DIEDBS_MAPPEDPRI2 action-mapping flags and the DIEDBS_RECENTDEVICE and DIEDBS_NEWDEVICE usage flags are defined below.
- The device is being enumerated because priority 1 actions can be mapped to the device.
- The device is being enumerated because priority 2 actions can be mapped to the device.
- The device is being enumerated because the commands described by the action-mapping flags were recently used.
- The device is being enumerated because the device was installed recently. Devices described by this flag have not been used with this game before.
- Number of devices, after this one, remaining to be enumerated.
- The application-defined value passed to IDirectInput8::EnumDevicesBySemantics as the pvRef parameter.
Returns DIENUM_CONTINUE to continue the enumeration or DIENUM_STOP to stop the enumeration.
If a single hardware device can function as more than one DirectInput device type, it is enumerated as each device type that it supports. For example, a keyboard with a built-in mouse is enumerated twice: once as a keyboard and once as a mouse. The product globally unique identifier (GUID) is the same for each device, however.