Microsoft DirectX 9.0

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


Obtains access to the input device.


Builds an action map for the device and retrieves information about it.


Creates and initializes an instance of an effect identified by the effect globally unique identifier (GUID).


Enumerates all the currently created effects for this device. Effects created by IDirectInputDevice8::CreateEffect are enumerated.


Enumerates all the effects supported by the force-feedback system on the device. The enumerated GUIDs can represent predefined effects, as well as effects peculiar to the device manufacturer.


Enumerates all the effects in a file created by the Force Editor utility or another application using the same file format.


Enumerates the input and output objects available on a device.


Sends a hardware-specific command to the force-feedback driver.


Obtains the capabilities of the DirectInputDevice object.


Retrieves buffered data from the device.


Obtains information about the device's identity.


Retrieves immediate data from the device.


Obtains information about an effect.


Retrieves the state of the device's force-feedback system.


Retrieves information about a device image for use in a configuration property sheet.


Retrieves information about a device object, such as a button or axis.


Retrieves information about the input device.


Initializes a DirectInputDevice object. The IDirectInput8::CreateDevice method automatically initializes a device after creating it; applications normally do not need to call this method.


Retrieves data from polled objects on a DirectInput device. If the device does not require polling, calling this method has no effect. If a device that requires polling is not polled periodically, no new data is received from the device. Calling this method causes DirectInput to update the device state, generate input events (if buffered data is enabled), and set notification events (if notification is enabled).


Runs the DirectInput control panel associated with this device. If the device does not have a control panel associated with it, the default device control panel is launched.

SendDeviceData Sends data to a device that accepts output.
Note  There are no devices that accept output from IDirectInputDevice8::SendDeviceData. See Remarks.

Sends a command to the device's force-feedback system.

SetActionMap Sets the data format for a device and maps application-defined actions to device objects. It also sets the buffer size for buffered data.

Establishes the cooperative level for this instance of the device. The cooperative level determines how this instance of the device interacts with other instances of the device and the rest of the system.


Sets the data format for the DirectInput device.


Specifies an event that is to be set when the device state changes. It is also used to turn off event notification.


Sets properties that define the device behavior. These properties include input buffer size and axis mode.


Releases access to the device.


Saves information about one or more force-feedback effects to a file that can be read by using IDirectInputDevice8::EnumEffectsInFile. This method is chiefly of interest to those wanting to write their own force-authoring applications.


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;

Interface Information

Inherits fromIUnknown
Minimum operating systems Windows 98

See Also


© 2002 Microsoft Corporation. All rights reserved.