Generalized the use of the new ICOM_VFIELD and ICOM_VTBL macros.

diff --git a/windows/dinput.c b/windows/dinput.c
index 277381d..a8b0175 100644
--- a/windows/dinput.c
+++ b/windows/dinput.c
@@ -67,7 +67,7 @@
 
 struct IDirectInputDevice2AImpl
 {
-        ICOM_VTABLE(IDirectInputDevice2A)* lpvtbl;
+        ICOM_VFIELD(IDirectInputDevice2A);
         DWORD                           ref;
         GUID                            guid;
 };
@@ -75,7 +75,7 @@
 struct SysKeyboardAImpl
 {
         /* IDirectInputDevice2AImpl */
-        ICOM_VTABLE(IDirectInputDevice2A)* lpvtbl;
+        ICOM_VFIELD(IDirectInputDevice2A);
         DWORD                           ref;
         GUID                            guid;
         /* SysKeyboardAImpl */
@@ -88,7 +88,7 @@
 struct JoystickAImpl
 {
         /* IDirectInputDevice2AImpl */
-        ICOM_VTABLE(IDirectInputDevice2A)* lpvtbl;
+        ICOM_VFIELD(IDirectInputDevice2A);
         DWORD                           ref;
         GUID                            guid;
 
@@ -106,7 +106,7 @@
 struct SysMouseAImpl
 {
         /* IDirectInputDevice2AImpl */
-        ICOM_VTABLE(IDirectInputDevice2A)* lpvtbl;
+        ICOM_VFIELD(IDirectInputDevice2A);
         DWORD                           ref;
         GUID                            guid;
 
@@ -180,7 +180,7 @@
 
 struct IDirectInputAImpl
 {
-        ICOM_VTABLE(IDirectInputA)* lpvtbl;
+        ICOM_VFIELD(IDirectInputA);
         DWORD                   ref;
 };
 
@@ -195,7 +195,7 @@
 	);
 	This = (IDirectInputAImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IDirectInputAImpl));
 	This->ref = 1;
-	This->lpvtbl = &ddiavt;
+	ICOM_VTBL(This) = &ddiavt;
 	*ppDI=(IDirectInputA*)This;
 	return 0;
 }
@@ -296,7 +296,7 @@
                 SysKeyboardAImpl* newDevice;
 		newDevice = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(SysKeyboardAImpl));
 		newDevice->ref = 1;
-		newDevice->lpvtbl = &SysKeyboardAvt;
+		ICOM_VTBL(newDevice) = &SysKeyboardAvt;
 		memcpy(&(newDevice->guid),rguid,sizeof(*rguid));
 		memset(newDevice->keystate,0,256);
                 *pdev=(IDirectInputDeviceA*)newDevice;
@@ -307,7 +307,7 @@
                 SysMouseAImpl* newDevice;
 		newDevice = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(SysMouseAImpl));
 		newDevice->ref = 1;
-		newDevice->lpvtbl = &SysMouseAvt;
+		ICOM_VTBL(newDevice) = &SysMouseAvt;
 		InitializeCriticalSection(&(newDevice->crit));
 		MakeCriticalSectionGlobal(&(newDevice->crit));
 		memcpy(&(newDevice->guid),rguid,sizeof(*rguid));
@@ -320,7 +320,7 @@
                 JoystickAImpl* newDevice;
 		newDevice = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(JoystickAImpl));
 		newDevice->ref		= 1;
-		newDevice->lpvtbl	= &JoystickAvt;
+		ICOM_VTBL(newDevice)	= &JoystickAvt;
 		newDevice->joyfd	= -1;
 		memcpy(&(newDevice->guid),rguid,sizeof(*rguid));
                 *pdev=(IDirectInputDeviceA*)newDevice;