IDirectInput8::EnumDevices Method
发布时间:2026-09-18 | 浏览:1
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 available devices.
dwDevType Device type filter. To restrict the enumeration to a particular type of device, set this parameter to a DI8DEVTYPE_* value. See DIDEVICEINSTANCE . To enumerate a class of devices, use one of the following values. DI8DEVCLASS_ALL All devices. DI8DEVCLASS_DEVICE All devices that do not fall into another class. DI8DEVCLASS_GAMECTRL All game controllers. DI8DEVCLASS_KEYBOARD All keyboards. Equivalent to DI8DEVTYPE_KEYBOARD. DI8DEVCLASS_POINTER All devices of type DI8DEVTYPE_MOUSE and DI8DEVTYPE_SCREENPOINTER.
dwDevType Device type filter.
To restrict the enumeration to a particular type of device, set this parameter to a DI8DEVTYPE_* value. See DIDEVICEINSTANCE .
To enumerate a class of devices, use one of the following values.
DI8DEVCLASS_ALL All devices.
DI8DEVCLASS_DEVICE All devices that do not fall into another class.
DI8DEVCLASS_GAMECTRL All game controllers.
DI8DEVCLASS_KEYBOARD All keyboards. Equivalent to DI8DEVTYPE_KEYBOARD.
DI8DEVCLASS_POINTER All devices of type DI8DEVTYPE_MOUSE and DI8DEVTYPE_SCREENPOINTER.
lpCallback Address of a callback function to be called once for each device enumerated. See DIEnumDevicesCallback .
lpCallback Address of a callback function to be called once for each device enumerated. See DIEnumDevicesCallback .
pvRef Application-defined 32-bit value to be passed to the enumeration callback each time it is called.
pvRef Application-defined 32-bit value to be passed 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: DIEDFL_ALLDEVICES All installed devices are enumerated. This is the default behavior. DIEDFL_ATTACHEDONLY Only attached and installed devices. DIEDFL_FORCEFEEDBACK Only devices that support force feedback. DIEDFL_INCLUDEALIASES Include devices that are aliases for other devices. DIEDFL_INCLUDEHIDDEN Include hidden devices. For more information about hidden devices, see DIDEVCAPS . DIEDFL_INCLUDEPHANTOMS Include phantom (placeholder) devices.
dwFlags Flag value that specifies the scope of the enumeration. This parameter can be one or more of the following values:
DIEDFL_ALLDEVICES All installed devices are enumerated. This is the default behavior.
DIEDFL_ATTACHEDONLY Only attached and installed devices.
DIEDFL_FORCEFEEDBACK Only devices that support force feedback.
DIEDFL_INCLUDEALIASES Include devices that are aliases for other devices.
DIEDFL_INCLUDEHIDDEN Include hidden devices. For more information about hidden devices, see DIDEVCAPS .
DIEDFL_INCLUDEPHANTOMS Include phantom (placeholder) devices.
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.
All installed devices can be enumerated, even if they are not present. For example, a flight stick might be installed on the system but not currently plugged into the computer. Set the dwFlags parameter to indicate whether only attached or all installed devices should be enumerated. If the DIEDFL_ATTACHEDONLY flag is not present, all installed devices are enumerated.
A preferred device type can be passed as a dwDevType filter so that only the devices of that type are enumerated.
On Microsoft Windows XP, DirectInput enumerates only one mouse and one keyboard device, referred to as the system mouse and the system keyboard. These devices represent the combined output of all mice and keyboards respectively on a system. For information about how to read from multiple mice or keyboards individually on Windows XP, see the WM_INPUT documentation.
The order in which devices are enumerated by DirectInput is not guaranteed.
Header: Declared in dinput.h.
IDirectInput8::EnumDevicesBySemantics
Additional resources
Last updated on 2011-09-10