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;
