IDirectInput8::EnumDevicesBySemantics
Enumerates devices that most closely match the application-specified action map.
HRESULT EnumDevicesBySemantics(
LPCTSTR ptszUserName,
LPDIACTIONFORMAT lpdiActionFormat,
LPDIENUMDEVICESBYSEMANTICSCB lpCallback,
LPVOID pvRef,
DWORD dwFlags
);
Parameters
- ptszUserName
- String identifying the current user, or NULL to specify the user logged onto the system. The user name is taken into account when enumerating devices. A device with user mappings is preferred to a device without any user mappings. By default, devices in use by other users are not enumerated for this user.
- lpdiActionFormat
- Address of a DIACTIONFORMAT structure that specifies the action map for which suitable devices are enumerated.
- lpCallback
- Address of a callback function to be called once for each device enumerated. See DIEnumDevicesBySemanticsCallback.
- pvRef
- Application-defined 32-bit value to pass to the enumeration callback each time it is called.
- dwFlags
- Flag value that specifies the scope of the enumeration. This parameter can be one or more of the following values.
- DIEDBSFL_ATTACHEDONLY
- Only attached and installed devices are enumerated.
- DIEDBSFL_AVAILABLEDEVICES
- Only unowned, installed devices are enumerated.
- DIEDBSFL_FORCEFEEDBACK
- Only devices that support force feedback are enumerated.
- DIEDBSFL_MULTIMICEKEYBOARDS
- Only secondary (non-system) keyboard and mouse devices.
- DIEDBSFL_NONGAMINGDEVICES
- Only HID-compliant devices whose primary purpose is not as a gaming device. Devices such as USB speakers and multimedia buttons on some keyboards would fall within this value.
- DIEDBSFL_THISUSER
- All installed devices for the user identified by
ptszUserName, and all unowned devices, are enumerated.
- DIEDBSFL_VALID
- DIEDBSFL_VALID is also defined in Dinput.h, but is not used by applications.
Return Values
If the method succeeds, the return value is DI_OK. If the method fails, the return value can be one of the following error values: DIERR_INVALIDPARAM, DIERR_NOTINITIALIZED.
Remarks
The keyboard and mouse are enumerated last.
Note The order in which devices are enumerated by DirectInput is not guaranteed.
Requirements
Header: Declared in Dinput.h.
See Also
IDirectInput8::EnumDevices, Action Mapping