Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Enumerates devices that most closely match the application-specified action map.
Syntax
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.
- DIEDBSFL_ATTACHEDONLY
Return Value
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.