DirectInput Device Object Instances
An object instance, sometimes called simply an object, is one of the various switches and other controls available on an input device. For example, object instances on a joystick might include the x-axis and y-axis of the stick, several buttons, and a throttle slider. Mouse objects might include two or three buttons, the x-axis and y-axis, and a wheel. For a keyboard, each key is an object.
The application ascertains the number and type of objects available on a device through the IDirectInputDevice::EnumObjects method. Individual device objects are not encapsulated as code objects but are described in DIDEVICEOBJECTINSTANCE structures.