This section describes the macros used in Microsoft DirectInput.
Dinput.h also defines macros for C calls to all the methods of the IDirectInput8 Interface and IDirectInputDevice8 Interface interfaces. These macros eliminate the need for pointers to method tables. For example, the following is a C call to the IDirectInputDevice8::Release method.
lpdid->lpVtbl->Release(lpdid));
The equivalent macro call looks like this.
idirectinputdevice9_Release(lpdid);
All these macros take the same parameters as the method calls themselves.