DIEnumDevicesBySemanticsCallback
BOOL DIEnumDevicesBySemanticsCallback(
LPCDIDEVICEINSTANCE lpddi,
LPDIRECTINPUTDEVICE8 lpdid,
DWORD dwFlags,
DWORD dwRemaining,
LPVOID pvRef
)
Parameters
- lpddi
- Address of a DIDEVICEINSTANCE structure that describes the device instance.
- lpdid
- Pointer to the IDirectInputDevice8 Interface interface for the device.
- dwFlags
-
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.
- DIEDBS_MAPPEDPRI1
- The device is being enumerated because priority 1 actions can be mapped to the device.
- DIEDBS_MAPPEDPRI2
- The device is being enumerated because priority 2 actions can be mapped to the device.
- DIEDBS_RECENTDEVICE
- The device is being enumerated because the commands described by the action-mapping flags were recently used.
- DIEDBS_NEWDEVICE
- The device is being enumerated because the device was installed recently. Devices described by this flag have not been used with this game before.
- dwRemaining
- Number of devices, after this one, remaining to be enumerated.
- pvRef
- The application-defined value passed to IDirectInput8::EnumDevicesBySemantics as the pvRef parameter.
Return Value
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.