IDirectInputDevice8 Interface

Applications use the methods of the IDirectInputDevice8 interface to gain and release access to Microsoft DirectInput devices, manage device properties and information, set behavior, perform initialization, create and play force-feedback effects, and invoke a device's control panel.

IDirectInputDevice8 Members

Method Description
IDirectInputDevice8::Acquire Obtains access to the input device.
IDirectInputDevice8::BuildActionMap Builds an action map for the device and retrieves information about it.
IDirectInputDevice8::CreateEffect Creates and initializes an instance of an effect identified by the effect globally unique identifier (GUID).
IDirectInputDevice8::EnumCreatedEffectObjects Enumerates all the currently created effects for this device.
IDirectInputDevice8::EnumEffects Enumerates all the effects supported by the force-feedback system on the device.
IDirectInputDevice8::EnumEffectsInFile Enumerates all the effects in a file created by the Force Editor utility or another application using the same file format.
IDirectInputDevice8::EnumObjects Enumerates the input and output objects available on a device.
IDirectInputDevice8::Escape Sends a hardware-specific command to the force-feedback driver.
IDirectInputDevice8::GetCapabilities Obtains the capabilities of the DirectInputDevice object.
IDirectInputDevice8::GetDeviceData Retrieves buffered data from the device.
IDirectInputDevice8::GetDeviceInfo Obtains information about the device's identity.
IDirectInputDevice8::GetDeviceState Retrieves immediate data from the device.
IDirectInputDevice8::GetEffectInfo Obtains information about an effect.
IDirectInputDevice8::GetForceFeedbackState Retrieves the state of the device's force-feedback system.
IDirectInputDevice8::GetImageInfo Retrieves information about a device image for use in a configuration property sheet.
IDirectInputDevice8::GetObjectInfo Retrieves information about a device object, such as a button or axis.
IDirectInputDevice8::GetProperty Retrieves information about the input device.
IDirectInputDevice8::Initialize Initializes a DirectInputDevice object.
IDirectInputDevice8::Poll Retrieves data from polled objects on a DirectInput device.
IDirectInputDevice8::RunControlPanel Runs the DirectInput control panel associated with this device.
IDirectInputDevice8::SendDeviceData Sends data to a device that accepts output.
IDirectInputDevice8::SendForceFeedbackCommand Sends a command to the device's force-feedback system.
IDirectInputDevice8::SetActionMap Sets the data format for a device and maps application-defined actions to device objects.
IDirectInputDevice8::SetCooperativeLevel Establishes the cooperative level for this instance of the device.
IDirectInputDevice8::SetDataFormat Sets the data format for the DirectInput device.
IDirectInputDevice8::SetEventNotification Specifies an event that is to be set when the device state changes.
IDirectInputDevice8::SetProperty Sets properties that define the device behavior.
IDirectInputDevice8::Unacquire Releases access to the device.
IDirectInputDevice8::WriteEffectToFile Saves information about one or more force-feedback effects to a file that can be read by using EnumEffectsInFile.


The IDirectInputDevice8 interface is obtained by using the IDirectInput8::CreateDevice method. For an example, see Creating a DirectInput Device.

IDirectInputDevice8 supersedes the IDirectInputDevice, IDirectInputDevice2, and IDirectInputDevice7 interfaces used in previous versions of Microsoft DirectX, but does not inherit from them. Methods that share names with those from older interfaces perform similar services, but may not have exactly the same functionality or behavior. You cannot obtain the earlier interfaces by using QueryInterface.

The LPDIRECTINPUTDEVICE8 type is defined as a pointer to the IDirectInputDevice8 interface:

typedef struct IDirectInputDevice8    *LPDIRECTINPUTDEVICE8;