IDirectInput

Applications use the methods of the IDirectInput interface to enumerate, create, and retrieve the status of DirectInput devices, initialize the DirectInput object, and invoke an instance of the Windows Control Panel.

The IDirectInput interface is obtained by using the DirectInputCreate function.

The methods of the IDirectInput interface can be organized into the following groups.

Device Management CreateDevice
  EnumDevices
  GetDeviceStatus
Miscellaneous Initialize
  RunControlPanel

The IDirectInput interface, like all COM interfaces, inherits the IUnknown interface methods. The IUnknown interface supports the following three methods:

AddRef  
QueryInterface  
Release  

The LPDIRECTINPUT type is defined as a pointer to the IDirectInput interface:

typedef struct IDirectInput *LPDIRECTINPUT;