Microsoft DirectX 8.1 (C++) |
IDirectInput8::EnumDevices
Enumerates available devices.
HRESULT EnumDevices( DWORD dwDevType, LPDIENUMDEVICESCALLBACK lpCallback, LPVOID pvRef, DWORD dwFlags );
Parameters
- 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.
- 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.
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
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.
Note The order in which devices are enumerated by DirectInput is not guaranteed.
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.