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.