DIEnumDevicesBySemanticsCallback

DirectX8

DIEnumDevicesBySemanticsCallback
 
Microsoft DirectX 8.1 (C++)

DIEnumDevicesBySemanticsCallback

Application-defined callback function that receives Microsoft® DirectInput® devices as a result of a call to the IDirectInput8::EnumDevicesBySemantics method.

BOOL CALLBACK 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 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 following action-mapping flags are defined.

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.

The following usage flags are defined.

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 Values

Returns DIENUM_CONTINUE to continue the enumeration or DIENUM_STOP to stop the enumeration.

Remarks

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 GUID is the same for each device, however.

Requirements

  Windows NT/2000/XP: Requires Windows 2000.
  Windows 98/Me: Requires Windows 98 or later. Available as a redistributable for Windows 98.
  Header: Declared in dinput.h.
  Import Library: User-defined.

See Also

DIEnumDevicesCallback