IDirectInputDevice::EnumObjects
The IDirectInputDevice::EnumObjects method enumerates the input and force-feedback objects available on a device.
HRESULT EnumObjects(
LPDIENUMDEVICEOBJECTSCALLBACK lpCallback,
LPVOID pvRef,
DWORD dwFlags
);
Parameters
- lpCallback
- Address of a callback function that receives DirectInputDevice objects. DirectInput provides a prototype of this function as DIEnumDeviceObjectsProc.
- pvRef
- Reference data (context) for callback.
- dwFlags
- Flags specifying the types of object to be enumerated. Each of the following values restricts the enumeration to objects of the described type:
- DIDFT_ABSAXIS
- An absolute axis.
- DIDFT_ALL
- All objects.
- DIDFT_AXIS
- An axis, either absolute or relative.
- DIDFT_BUTTON
- A push button or a toggle button.
- DIDFT_COLLECTION
- A HID link collection. HID link collections do not generate data of their own.
- DIDFT_ENUMCOLLECTION(n)
- An object that belongs to HID link collection number n.
- DIDFT_FFACTUATOR
- An object that contains a force-feedback actuator. In other words, forces may be applied to this object.
- DIDFT_FFEFFECTTRIGGER
- An object that can be used to trigger force-feedback effects.
- DIDFT_NOCOLLECTION
- An object that does not belong to any HID link collection; in other words, an object for which the wCollectionNumber member of the DIDEVICEOBJECTINSTANCE structure is 0.
- DIDFT_NODATA
- An object that does not generate data.
- DIDFT_OUTPUT
- An object to which data can be sent by using the the IDirectInputDevice2::SendDeviceData method.
- DIDFT_POV
- A point-of-view controller.
- DIDFT_PSHBUTTON
- A push button. A push button is reported as down when the user presses it and as up when the user releases it.
- DIDFT_RELAXIS
- A relative axis.
- DIDFT_TGLBUTTON
- A toggle button. A toggle button is reported as down when the user presses it and remains so until the user presses the button a second time.
Return Values
If the method succeeds, the return value is DI_OK.
If the method fails, the return value may be one of the following error values:
Remarks
The DIDFT_FFACTUATOR and DIDFT_FFEFFECTTRIGGER flags in the dwFlags member restrict enumeration to objects that meet all the criteria defined by the included flags. For all the other flags, an object is enumerated if it meets the criterion defined by any included flag in this category. For example, (DIDFT_FFACTUATOR | DIDFT_FFEFFECTTRIGGER) restricts enumeration to force-feedback trigger objects, and (DIDFT_FFEFFECTRIGGER | DIDFT_TGLBUTTON | DIDFT_PSHBUTTON) restricts enumeration to buttons of any kind that can be used as effect triggers.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dinput.h.
Import Library: Use dinput.lib.