[PATCH 4/5] ddraw: Avoid LPVOID.

Henri Verbeet hverbeet at codeweavers.com
Wed Sep 11 01:47:51 CDT 2013


---
 dlls/ddraw/main.c             |   57 +++++++++++----------------------
 dlls/ddraw/tests/d3d.c        |    3 +-
 dlls/ddraw/tests/ddrawmodes.c |   43 ++++++++++++-------------
 dlls/ddraw/tests/dsurface.c   |    2 +-
 dlls/ddraw/tests/overlay.c    |    3 +-
 dlls/ddraw/tests/refcount.c   |    3 +-
 dlls/ddraw/tests/visual.c     |    3 +-
 include/d3d.h                 |   56 +++++++++++++++++++--------------
 include/d3dcaps.h             |    2 +-
 include/d3dtypes.h            |   13 ++++----
 include/ddraw.h               |   70 +++++++++++++++++++++--------------------
 11 files changed, 123 insertions(+), 132 deletions(-)

diff --git a/dlls/ddraw/main.c b/dlls/ddraw/main.c
index 61b2586..0c6b88e 100644
--- a/dlls/ddraw/main.c
+++ b/dlls/ddraw/main.c
@@ -296,28 +296,25 @@ HRESULT WINAPI DECLSPEC_HOTPATCH DirectDrawCreate(GUID *driver_guid, IDirectDraw
  * Arguments, return values: See DDRAW_Create
  *
  ***********************************************************************/
-HRESULT WINAPI DECLSPEC_HOTPATCH
-DirectDrawCreateEx(GUID *guid,
-                   LPVOID *dd,
-                   REFIID iid,
-                   IUnknown *UnkOuter)
+HRESULT WINAPI DECLSPEC_HOTPATCH DirectDrawCreateEx(GUID *driver_guid,
+        void **ddraw, REFIID interface_iid, IUnknown *outer)
 {
     HRESULT hr;
 
-    TRACE("driver_guid %s, ddraw %p, interface_iid %s, outer_unknown %p.\n",
-            debugstr_guid(guid), dd, debugstr_guid(iid), UnkOuter);
+    TRACE("driver_guid %s, ddraw %p, interface_iid %s, outer %p.\n",
+            debugstr_guid(driver_guid), ddraw, debugstr_guid(interface_iid), outer);
 
-    if (!IsEqualGUID(iid, &IID_IDirectDraw7))
+    if (!IsEqualGUID(interface_iid, &IID_IDirectDraw7))
         return DDERR_INVALIDPARAMS;
 
     wined3d_mutex_lock();
-    hr = DDRAW_Create(guid, dd, UnkOuter, iid);
+    hr = DDRAW_Create(driver_guid, ddraw, outer, interface_iid);
     wined3d_mutex_unlock();
 
     if (SUCCEEDED(hr))
     {
-        IDirectDraw7 *ddraw7 = *(IDirectDraw7 **)dd;
-        hr = IDirectDraw7_Initialize(ddraw7, guid);
+        IDirectDraw7 *ddraw7 = *(IDirectDraw7 **)ddraw;
+        hr = IDirectDraw7_Initialize(ddraw7, driver_guid);
         if (FAILED(hr))
             IDirectDraw7_Release(ddraw7);
     }
@@ -551,7 +548,7 @@ struct ddraw_class_factory
     IClassFactory IClassFactory_iface;
 
     LONG ref;
-    HRESULT (*pfnCreateInstance)(IUnknown *pUnkOuter, REFIID iid, LPVOID *ppObj);
+    HRESULT (*pfnCreateInstance)(IUnknown *outer, REFIID iid, void **out);
 };
 
 static inline struct ddraw_class_factory *impl_from_IClassFactory(IClassFactory *iface)
@@ -687,30 +684,13 @@ static const IClassFactoryVtbl IClassFactory_Vtbl =
     ddraw_class_factory_LockServer
 };
 
-/*******************************************************************************
- * DllGetClassObject [DDRAW.@]
- * Retrieves class object from a DLL object
- *
- * NOTES
- *    Docs say returns STDAPI
- *
- * PARAMS
- *    rclsid [I] CLSID for the class object
- *    riid   [I] Reference to identifier of interface for class object
- *    ppv    [O] Address of variable to receive interface pointer for riid
- *
- * RETURNS
- *    Success: S_OK
- *    Failure: CLASS_E_CLASSNOTAVAILABLE, E_OUTOFMEMORY, E_INVALIDARG,
- *             E_UNEXPECTED
- */
-HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **out)
 {
     struct ddraw_class_factory *factory;
     unsigned int i;
 
-    TRACE("rclsid %s, riid %s, object %p.\n",
-            debugstr_guid(rclsid), debugstr_guid(riid), ppv);
+    TRACE("rclsid %s, riid %s, out %p.\n",
+            debugstr_guid(rclsid), debugstr_guid(riid), out);
 
     if (!IsEqualGUID(&IID_IClassFactory, riid)
             && !IsEqualGUID(&IID_IUnknown, riid))
@@ -736,7 +716,7 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
 
     factory->pfnCreateInstance = object_creation[i].pfnCreateInstance;
 
-    *ppv = factory;
+    *out = factory;
     return S_OK;
 }
 
@@ -826,9 +806,8 @@ DestroyCallback(IDirectDrawSurface7 *surf,
  * app didn't release them properly(Gothic 2, Diablo 2, Moto racer, ...)
  *
  ***********************************************************************/
-BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD reason, LPVOID reserved)
+BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, void *reserved)
 {
-    TRACE("(%p,%x,%p)\n", hInstDLL, reason, reserved);
     switch (reason)
     {
     case DLL_PROCESS_ATTACH:
@@ -844,7 +823,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD reason, LPVOID reserved)
         wc.lpfnWndProc = DefWindowProcA;
         wc.cbClsExtra = 0;
         wc.cbWndExtra = 0;
-        wc.hInstance = hInstDLL;
+        wc.hInstance = inst;
         wc.hIcon = 0;
         wc.hCursor = 0;
         wc.hbrBackground = GetStockObject(BLACK_BRUSH);
@@ -899,8 +878,8 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD reason, LPVOID reserved)
         if (!GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (const WCHAR *)&ddraw_self, &ddraw_self))
             ERR("Failed to get own module handle.\n");
 
-        instance = hInstDLL;
-        DisableThreadLibraryCalls(hInstDLL);
+        instance = inst;
+        DisableThreadLibraryCalls(inst);
         break;
     }
 
@@ -969,7 +948,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD reason, LPVOID reserved)
         }
 
         if (reserved) break;
-        UnregisterClassA(DDRAW_WINDOW_CLASS_NAME, hInstDLL);
+        UnregisterClassA(DDRAW_WINDOW_CLASS_NAME, inst);
     }
 
     return TRUE;
diff --git a/dlls/ddraw/tests/d3d.c b/dlls/ddraw/tests/d3d.c
index b170b29..0ab3b06 100644
--- a/dlls/ddraw/tests/d3d.c
+++ b/dlls/ddraw/tests/d3d.c
@@ -67,7 +67,8 @@ typedef struct
     char callback_name_strings[MAX_ENUMERATION_COUNT][100];
 } D3D7ELifetimeTest;
 
-static HRESULT (WINAPI *pDirectDrawCreateEx)(LPGUID,LPVOID*,REFIID,LPUNKNOWN);
+static HRESULT (WINAPI *pDirectDrawCreateEx)(GUID *driver_guid,
+        void **ddraw, REFIID interface_iid, IUnknown *outer);
 
 static void init_function_pointers(void)
 {
diff --git a/dlls/ddraw/tests/ddrawmodes.c b/dlls/ddraw/tests/ddrawmodes.c
index 68deea4a..492311e 100644
--- a/dlls/ddraw/tests/ddrawmodes.c
+++ b/dlls/ddraw/tests/ddrawmodes.c
@@ -43,10 +43,10 @@ static int modes16bpp_cnt;
 static int refresh_rate;
 static int refresh_rate_cnt;
 
-static HRESULT (WINAPI *pDirectDrawEnumerateA)(LPDDENUMCALLBACKA,LPVOID);
-static HRESULT (WINAPI *pDirectDrawEnumerateW)(LPDDENUMCALLBACKW,LPVOID);
-static HRESULT (WINAPI *pDirectDrawEnumerateExA)(LPDDENUMCALLBACKEXA,LPVOID,DWORD);
-static HRESULT (WINAPI *pDirectDrawEnumerateExW)(LPDDENUMCALLBACKEXW,LPVOID,DWORD);
+static HRESULT (WINAPI *pDirectDrawEnumerateA)(LPDDENUMCALLBACKA cb, void *ctx);
+static HRESULT (WINAPI *pDirectDrawEnumerateW)(LPDDENUMCALLBACKW cb, void *ctx);
+static HRESULT (WINAPI *pDirectDrawEnumerateExA)(LPDDENUMCALLBACKEXA cb, void *ctx, DWORD flags);
+static HRESULT (WINAPI *pDirectDrawEnumerateExW)(LPDDENUMCALLBACKEXW cb, void *ctx, DWORD flags);
 
 static void init_function_pointers(void)
 {
@@ -104,8 +104,8 @@ static void releasedirectdraw(void)
     }
 }
 
-static BOOL WINAPI test_nullcontext_callbackA(GUID *lpGUID, LPSTR lpDriverDescription,
-                                              LPSTR lpDriverName, LPVOID lpContext)
+static BOOL WINAPI test_nullcontext_callbackA(GUID *lpGUID,
+        char *lpDriverDescription, char *lpDriverName, void *lpContext)
 {
     trace("test_nullcontext_callbackA: %p %s %s %p\n",
           lpGUID, lpDriverDescription, lpDriverName, lpContext);
@@ -115,13 +115,13 @@ static BOOL WINAPI test_nullcontext_callbackA(GUID *lpGUID, LPSTR lpDriverDescri
     return TRUE;
 }
 
-static BOOL WINAPI test_context_callbackA(GUID *lpGUID, LPSTR lpDriverDescription,
-                                          LPSTR lpDriverName, LPVOID lpContext)
+static BOOL WINAPI test_context_callbackA(GUID *lpGUID,
+        char *lpDriverDescription, char *lpDriverName, void *lpContext)
 {
     trace("test_context_callbackA: %p %s %s %p\n",
           lpGUID, lpDriverDescription, lpDriverName, lpContext);
 
-    ok(lpContext == (LPVOID)0xdeadbeef, "Expected non-NULL lpContext\n");
+    ok(lpContext == (void *)0xdeadbeef, "Expected non-NULL lpContext\n");
 
     return TRUE;
 }
@@ -147,12 +147,12 @@ static void test_DirectDrawEnumerateA(void)
 
     /* Test with valid callback parameter and valid context parameter. */
     trace("Calling DirectDrawEnumerateA with test_context_callbackA callback and non-NULL context.\n");
-    ret = pDirectDrawEnumerateA(test_context_callbackA, (LPVOID)0xdeadbeef);
+    ret = pDirectDrawEnumerateA(test_context_callbackA, (void *)0xdeadbeef);
     ok(ret == DD_OK, "Expected DD_OK, got %d\n", ret);
 }
 
-static BOOL WINAPI test_callbackW(GUID *lpGUID, LPWSTR lpDriverDescription,
-                                  LPWSTR lpDriverName, LPVOID lpContext)
+static BOOL WINAPI test_callbackW(GUID *lpGUID, WCHAR *lpDriverDescription,
+        WCHAR *lpDriverName, void *lpContext)
 {
     ok(0, "The callback should not be invoked by DirectDrawEnumerateW\n");
     return TRUE;
@@ -187,9 +187,8 @@ static void test_DirectDrawEnumerateW(void)
     ok(ret == DDERR_UNSUPPORTED, "Expected DDERR_UNSUPPORTED, got %d\n", ret);
 }
 
-static BOOL WINAPI test_nullcontext_callbackExA(GUID *lpGUID, LPSTR lpDriverDescription,
-                                                LPSTR lpDriverName, LPVOID lpContext,
-                                                HMONITOR hm)
+static BOOL WINAPI test_nullcontext_callbackExA(GUID *lpGUID, char *lpDriverDescription,
+        char *lpDriverName, void *lpContext, HMONITOR hm)
 {
     trace("test_nullcontext_callbackExA: %p %s %s %p %p\n", lpGUID,
           lpDriverDescription, lpDriverName, lpContext, hm);
@@ -199,14 +198,13 @@ static BOOL WINAPI test_nullcontext_callbackExA(GUID *lpGUID, LPSTR lpDriverDesc
     return TRUE;
 }
 
-static BOOL WINAPI test_context_callbackExA(GUID *lpGUID, LPSTR lpDriverDescription,
-                                            LPSTR lpDriverName, LPVOID lpContext,
-                                            HMONITOR hm)
+static BOOL WINAPI test_context_callbackExA(GUID *lpGUID, char *lpDriverDescription,
+        char *lpDriverName, void *lpContext, HMONITOR hm)
 {
     trace("test_context_callbackExA: %p %s %s %p %p\n", lpGUID,
           lpDriverDescription, lpDriverName, lpContext, hm);
 
-    ok(lpContext == (LPVOID)0xdeadbeef, "Expected non-NULL lpContext\n");
+    ok(lpContext == (void *)0xdeadbeef, "Expected non-NULL lpContext\n");
 
     return TRUE;
 }
@@ -236,7 +234,7 @@ static void test_DirectDrawEnumerateExA(void)
 
     /* Test with valid callback parameter and non-NULL context parameter. */
     trace("Calling DirectDrawEnumerateExA with empty flags and non-NULL context.\n");
-    ret = pDirectDrawEnumerateExA(test_context_callbackExA, (LPVOID)0xdeadbeef, 0);
+    ret = pDirectDrawEnumerateExA(test_context_callbackExA, (void *)0xdeadbeef, 0);
     ok(ret == DD_OK, "Expected DD_OK, got %d\n", ret);
 
     /* Test with valid callback parameter, NULL context parameter, and all flags set. */
@@ -248,9 +246,8 @@ static void test_DirectDrawEnumerateExA(void)
     ok(ret == DD_OK, "Expected DD_OK, got %d\n", ret);
 }
 
-static BOOL WINAPI test_callbackExW(GUID *lpGUID, LPWSTR lpDriverDescription,
-                                    LPWSTR lpDriverName, LPVOID lpContext,
-                                    HMONITOR hm)
+static BOOL WINAPI test_callbackExW(GUID *lpGUID, WCHAR *lpDriverDescription,
+        WCHAR *lpDriverName, void *lpContext, HMONITOR hm)
 {
     ok(0, "The callback should not be invoked by DirectDrawEnumerateExW.\n");
     return TRUE;
diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c
index eb39801..1b00256 100644
--- a/dlls/ddraw/tests/dsurface.c
+++ b/dlls/ddraw/tests/dsurface.c
@@ -740,7 +740,7 @@ static void QueryInterface(void)
 {
     IDirectDrawSurface *dsurface;
     DDSURFACEDESC surface;
-    LPVOID object;
+    void *object;
     HRESULT ret;
 
     /* Create a surface */
diff --git a/dlls/ddraw/tests/overlay.c b/dlls/ddraw/tests/overlay.c
index 2cf48c7..7e22cca 100644
--- a/dlls/ddraw/tests/overlay.c
+++ b/dlls/ddraw/tests/overlay.c
@@ -23,7 +23,8 @@
 #include "ddraw.h"
 #include "unknwn.h"
 
-static HRESULT (WINAPI *pDirectDrawCreateEx)(LPGUID,LPVOID*,REFIID,LPUNKNOWN);
+static HRESULT (WINAPI *pDirectDrawCreateEx)(GUID *driver_guid,
+        void **ddraw, REFIID interface_iid, IUnknown *outer);
 
 static IDirectDraw7 *ddraw = NULL;
 static IDirectDrawSurface7 *primary = NULL;
diff --git a/dlls/ddraw/tests/refcount.c b/dlls/ddraw/tests/refcount.c
index b5a699b..c8c474f 100644
--- a/dlls/ddraw/tests/refcount.c
+++ b/dlls/ddraw/tests/refcount.c
@@ -24,7 +24,8 @@
 #include "d3d.h"
 #include "unknwn.h"
 
-static HRESULT (WINAPI *pDirectDrawCreateEx)(LPGUID,LPVOID*,REFIID,LPUNKNOWN);
+static HRESULT (WINAPI *pDirectDrawCreateEx)(GUID *driver_guid,
+        void **ddraw, REFIID interface_iid, IUnknown *outer);
 
 static void init_function_pointers(void)
 {
diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c
index 5c25faa..6f5244b 100644
--- a/dlls/ddraw/tests/visual.c
+++ b/dlls/ddraw/tests/visual.c
@@ -39,7 +39,8 @@ static IDirect3DViewport *Viewport;
 
 static BOOL refdevice = FALSE;
 
-static HRESULT (WINAPI *pDirectDrawCreateEx)(LPGUID,LPVOID*,REFIID,LPUNKNOWN);
+static HRESULT (WINAPI *pDirectDrawCreateEx)(GUID *driver_guid,
+        void **ddraw, REFIID interface_iid, IUnknown *outer);
 
 static BOOL color_match(D3DCOLOR c1, D3DCOLOR c2, BYTE max_diff)
 {
diff --git a/include/d3d.h b/include/d3d.h
index 22dafa8..f118deb 100644
--- a/include/d3d.h
+++ b/include/d3d.h
@@ -212,7 +212,7 @@ DECLARE_INTERFACE_(IDirect3D,IUnknown)
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3D methods ***/
     STDMETHOD(Initialize)(THIS_ REFIID riid) PURE;
-    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK cb, void *ctx) PURE;
     STDMETHOD(CreateLight)(THIS_ struct IDirect3DLight **light, IUnknown *outer) PURE;
     STDMETHOD(CreateMaterial)(THIS_ struct IDirect3DMaterial **material, IUnknown *outer) PURE;
     STDMETHOD(CreateViewport)(THIS_ struct IDirect3DViewport **viewport, IUnknown *outer) PURE;
@@ -258,7 +258,7 @@ DECLARE_INTERFACE_(IDirect3D2,IUnknown)
     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3D2 methods ***/
-    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK cb, void *ctx) PURE;
     STDMETHOD(CreateLight)(THIS_ struct IDirect3DLight **light, IUnknown *outer) PURE;
     STDMETHOD(CreateMaterial)(THIS_ struct IDirect3DMaterial2 **material, IUnknown *outer) PURE;
     STDMETHOD(CreateViewport)(THIS_ struct IDirect3DViewport2 **viewport, IUnknown *outer) PURE;
@@ -306,7 +306,7 @@ DECLARE_INTERFACE_(IDirect3D3,IUnknown)
     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3D3 methods ***/
-    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK cb, void *ctx) PURE;
     STDMETHOD(CreateLight)(THIS_ struct IDirect3DLight **light, IUnknown *outer) PURE;
     STDMETHOD(CreateMaterial)(THIS_ struct IDirect3DMaterial3 **material, IUnknown *outer) PURE;
     STDMETHOD(CreateViewport)(THIS_ struct IDirect3DViewport3 **viewport, IUnknown *outer) PURE;
@@ -315,7 +315,7 @@ DECLARE_INTERFACE_(IDirect3D3,IUnknown)
             struct IDirect3DDevice3 **device, IUnknown *outer) PURE;
     STDMETHOD(CreateVertexBuffer)(THIS_ D3DVERTEXBUFFERDESC *desc, struct IDirect3DVertexBuffer **buffer,
             DWORD flags, IUnknown *outer) PURE;
-    STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
+    STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID device_iid, LPD3DENUMPIXELFORMATSCALLBACK cb, void *ctx) PURE;
     STDMETHOD(EvictManagedTextures)(THIS) PURE;
 };
 #undef INTERFACE
@@ -363,12 +363,12 @@ DECLARE_INTERFACE_(IDirect3D7,IUnknown)
     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3D7 methods ***/
-    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE;
+    STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 cb, void *ctx) PURE;
     STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid, IDirectDrawSurface7 *surface,
             struct IDirect3DDevice7 **device) PURE;
     STDMETHOD(CreateVertexBuffer)(THIS_ D3DVERTEXBUFFERDESC *desc,
             struct IDirect3DVertexBuffer7 **buffer, DWORD flags) PURE;
-    STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE;
+    STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID device_iid, LPD3DENUMPIXELFORMATSCALLBACK cb, void *ctx) PURE;
     STDMETHOD(EvictManagedTextures)(THIS) PURE;
 };
 #undef INTERFACE
@@ -891,7 +891,7 @@ DECLARE_INTERFACE_(IDirect3DExecuteBuffer,IUnknown)
     STDMETHOD(Unlock)(THIS) PURE;
     STDMETHOD(SetExecuteData)(THIS_ D3DEXECUTEDATA *data) PURE;
     STDMETHOD(GetExecuteData)(THIS_ D3DEXECUTEDATA *data) PURE;
-    STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE;
+    STDMETHOD(Validate)(THIS_ DWORD *offset, LPD3DVALIDATECALLBACK cb, void *ctx, DWORD reserved) PURE;
     STDMETHOD(Optimize)(THIS_ DWORD dwDummy) PURE;
 };
 #undef INTERFACE
@@ -951,7 +951,7 @@ DECLARE_INTERFACE_(IDirect3DDevice,IUnknown)
     STDMETHOD(Pick)(THIS_ IDirect3DExecuteBuffer *buffer, IDirect3DViewport *viewport,
             DWORD flags, D3DRECT *rect) PURE;
     STDMETHOD(GetPickRecords)(THIS_ DWORD *count, D3DPICKRECORD *records) PURE;
-    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
+    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK cb, void *ctx) PURE;
     STDMETHOD(CreateMatrix)(THIS_ D3DMATRIXHANDLE *matrix) PURE;
     STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE handle, D3DMATRIX *matrix) PURE;
     STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE handle, D3DMATRIX *matrix) PURE;
@@ -1033,7 +1033,7 @@ DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown)
     STDMETHOD(DeleteViewport)(THIS_ IDirect3DViewport2 *viewport) PURE;
     STDMETHOD(NextViewport)(THIS_ IDirect3DViewport2 *ref,
             IDirect3DViewport2 **viewport, DWORD flags) PURE;
-    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE;
+    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK cb, void *ctx) PURE;
     STDMETHOD(BeginScene)(THIS) PURE;
     STDMETHOD(EndScene)(THIS) PURE;
     STDMETHOD(GetDirect3D)(THIS_ IDirect3D2 **d3d) PURE;
@@ -1043,8 +1043,9 @@ DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown)
     STDMETHOD(SetRenderTarget)(THIS_ IDirectDrawSurface *surface, DWORD flags) PURE;
     STDMETHOD(GetRenderTarget)(THIS_ IDirectDrawSurface **surface) PURE;
     STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE;
-    STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
-    STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
+    STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE primitive_type, D3DVERTEXTYPE vertex_type,
+            void *vertices, DWORD vertex_count, DWORD flags) PURE;
+    STDMETHOD(Vertex)(THIS_ void *vertex) PURE;
     STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
     STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
@@ -1054,8 +1055,10 @@ DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown)
     STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix) PURE;
     STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix) PURE;
     STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix) PURE;
-    STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
-    STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
+    STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, D3DVERTEXTYPE vertex_type,
+            void *vertices, DWORD vertex_count, DWORD flags) PURE;
+    STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, D3DVERTEXTYPE vertex_type,
+            void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags) PURE;
     STDMETHOD(SetClipStatus)(THIS_ D3DCLIPSTATUS *clip_status) PURE;
     STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS *clip_status) PURE;
 };
@@ -1152,7 +1155,7 @@ DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown)
     STDMETHOD(DeleteViewport)(THIS_ IDirect3DViewport3 *viewport) PURE;
     STDMETHOD(NextViewport)(THIS_ IDirect3DViewport3 *ref,
             IDirect3DViewport3 **viewport, DWORD flags) PURE;
-    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
+    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK cb, void *ctx) PURE;
     STDMETHOD(BeginScene)(THIS) PURE;
     STDMETHOD(EndScene)(THIS) PURE;
     STDMETHOD(GetDirect3D)(THIS_ IDirect3D3 **d3d) PURE;
@@ -1162,8 +1165,9 @@ DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown)
     STDMETHOD(SetRenderTarget)(THIS_ IDirectDrawSurface4 *surface, DWORD flags) PURE;
     STDMETHOD(GetRenderTarget)(THIS_ IDirectDrawSurface4 **surface) PURE;
     STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE;
-    STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE;
-    STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE;
+    STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE primitive_type, DWORD fvf,
+            void *vertices, DWORD vertex_count, DWORD flags) PURE;
+    STDMETHOD(Vertex)(THIS_ void *vertex) PURE;
     STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE;
     STDMETHOD(End)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE;
@@ -1173,8 +1177,10 @@ DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown)
     STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix) PURE;
     STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix) PURE;
     STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix) PURE;
-    STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
-    STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
+    STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, DWORD vertex_type,
+            void *vertices, DWORD vertex_count, DWORD flags) PURE;
+    STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, DWORD fvf,
+            void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags) PURE;
     STDMETHOD(SetClipStatus)(THIS_ D3DCLIPSTATUS *clip_status) PURE;
     STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS *clip_status) PURE;
     STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE primitive_type, DWORD fvf,
@@ -1300,7 +1306,7 @@ DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown)
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3DDevice7 methods ***/
     STDMETHOD(GetCaps)(THIS_ D3DDEVICEDESC7 *desc) PURE;
-    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE;
+    STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK cb, void *ctx) PURE;
     STDMETHOD(BeginScene)(THIS) PURE;
     STDMETHOD(EndScene)(THIS) PURE;
     STDMETHOD(GetDirect3D)(THIS_ IDirect3D7 **d3d) PURE;
@@ -1321,8 +1327,10 @@ DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown)
     STDMETHOD(BeginStateBlock)(THIS) PURE;
     STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE;
     STDMETHOD(PreLoad)(THIS_ IDirectDrawSurface7 *surface) PURE;
-    STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE;
-    STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE;
+    STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, DWORD fvf,
+            void *vertices, DWORD vertex_count, DWORD flags) PURE;
+    STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE primitive_type, DWORD fvf,
+            void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags) PURE;
     STDMETHOD(SetClipStatus)(THIS_ D3DCLIPSTATUS *clip_status) PURE;
     STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS *clip_status) PURE;
     STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE primitive_type, DWORD fvf,
@@ -1351,7 +1359,7 @@ DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown)
     STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE;
     STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
     STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE;
-    STDMETHOD(GetInfo)(THIS_ DWORD dwDevInfoID,LPVOID pDevInfoStruct,DWORD dwSize) PURE;
+    STDMETHOD(GetInfo)(THIS_ DWORD info_id, void *info, DWORD info_size) PURE;
 };
 #undef INTERFACE
 
@@ -1474,7 +1482,7 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer,IUnknown)
     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3DVertexBuffer methods ***/
-    STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
+    STDMETHOD(Lock)(THIS_ DWORD flags, void **data, DWORD *data_size) PURE;
     STDMETHOD(Unlock)(THIS) PURE;
     STDMETHOD(ProcessVertices)(THIS_ DWORD vertex_op, DWORD dst_idx, DWORD count,
             IDirect3DVertexBuffer *src_buffer, DWORD src_idx,
@@ -1519,7 +1527,7 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer7,IUnknown)
     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirect3DVertexBuffer7 methods ***/
-    STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE;
+    STDMETHOD(Lock)(THIS_ DWORD flags, void **data, DWORD *data_size) PURE;
     STDMETHOD(Unlock)(THIS) PURE;
     STDMETHOD(ProcessVertices)(THIS_ DWORD vertex_op, DWORD dst_idx, DWORD count,
             IDirect3DVertexBuffer7 *src_buffer, DWORD src_idx,
diff --git a/include/d3dcaps.h b/include/d3dcaps.h
index bde09e8..c36577e 100644
--- a/include/d3dcaps.h
+++ b/include/d3dcaps.h
@@ -390,7 +390,7 @@ typedef struct _D3DExecuteBufferDesc {
   DWORD  dwFlags;
   DWORD  dwCaps;
   DWORD  dwBufferSize;
-  LPVOID lpData;
+  void *lpData;
 } D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC;
 
 #define D3DDEB_BUFSIZE          0x00000001
diff --git a/include/d3dtypes.h b/include/d3dtypes.h
index 73c389f..4119c0f 100644
--- a/include/d3dtypes.h
+++ b/include/d3dtypes.h
@@ -71,7 +71,7 @@ typedef LONG D3DFIXED;
 #define D3DENUMRET_CANCEL                        DDENUMRET_CANCEL
 #define D3DENUMRET_OK                            DDENUMRET_OK
 
-typedef HRESULT (CALLBACK *LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset);
+typedef HRESULT (CALLBACK *LPD3DVALIDATECALLBACK)(void *ctx, DWORD offset);
 typedef HRESULT (CALLBACK *LPD3DENUMTEXTUREFORMATSCALLBACK)(DDSURFACEDESC *surface_desc, void *ctx);
 typedef HRESULT (CALLBACK *LPD3DENUMPIXELFORMATSCALLBACK)(DDPIXELFORMAT *format, void *ctx);
 
@@ -468,9 +468,9 @@ typedef struct _D3DVIEWPORT7 {
 
 typedef struct _D3DTRANSFORMDATA {
   DWORD           dwSize;
-  LPVOID          lpIn;
+  void            *lpIn;
   DWORD           dwInSize;
-  LPVOID          lpOut;
+  void            *lpOut;
   DWORD           dwOutSize;
   D3DHVERTEX      *lpHOut;
   DWORD           dwClip;
@@ -1270,9 +1270,10 @@ typedef struct _D3DVERTEXBUFFERDESC {
 #define D3DFVF_TLVERTEX ( D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | \
                           D3DFVF_TEX1 )
 
-typedef struct _D3DDP_PTRSTRIDE {
-  LPVOID lpvData;
-  DWORD  dwStride;
+typedef struct _D3DDP_PTRSTRIDE
+{
+  void *lpvData;
+  DWORD dwStride;
 } D3DDP_PTRSTRIDE;
 
 #define D3DDP_MAXTEXCOORD 8
diff --git a/include/ddraw.h b/include/ddraw.h
index f643811..22be0eb 100644
--- a/include/ddraw.h
+++ b/include/ddraw.h
@@ -982,7 +982,7 @@ typedef struct _DDSURFACEDESC
 	} DUMMYUNIONNAME2;
 	DWORD	dwAlphaBitDepth;/* 1C:depth of alpha buffer requested*/
 	DWORD	dwReserved;	/* 20:reserved*/
-	LPVOID	lpSurface;	/* 24:pointer to the associated surface memory*/
+	void *lpSurface;	/* 24:pointer to the associated surface memory*/
 	DDCOLORKEY	ddckCKDestOverlay;/* 28: CK for dest overlay use*/
 	DDCOLORKEY	ddckCKDestBlt;	/* 30: CK for destination blt use*/
 	DDCOLORKEY	ddckCKSrcOverlay;/* 38: CK for source overlay use*/
@@ -1009,7 +1009,7 @@ typedef struct _DDSURFACEDESC2
 	} DUMMYUNIONNAME2;
 	DWORD	dwAlphaBitDepth;/* 1C:depth of alpha buffer requested*/
 	DWORD	dwReserved;	/* 20:reserved*/
-	LPVOID	lpSurface;	/* 24:pointer to the associated surface memory*/
+	void *lpSurface;	/* 24:pointer to the associated surface memory*/
 	union {
 		DDCOLORKEY	ddckCKDestOverlay; /* 28: CK for dest overlay use*/
 		DWORD 		dwEmptyFaceColor;  /* 28: color for empty cubemap faces */
@@ -1054,8 +1054,8 @@ typedef struct {
 	WORD	blue[256];
 } DDGAMMARAMP,*LPDDGAMMARAMP;
 
-typedef BOOL (CALLBACK *LPDDENUMCALLBACKA)(GUID *, LPSTR, LPSTR, LPVOID);
-typedef BOOL (CALLBACK *LPDDENUMCALLBACKW)(GUID *, LPWSTR, LPWSTR, LPVOID);
+typedef BOOL (CALLBACK *LPDDENUMCALLBACKA)(GUID *guid, char *driver_description, char *driver_name, void *ctx);
+typedef BOOL (CALLBACK *LPDDENUMCALLBACKW)(GUID *guid, WCHAR *driver_description, WCHAR *driver_name, void *ctx);
 DECL_WINELIB_TYPE_AW(LPDDENUMCALLBACK)
 
 typedef HRESULT (CALLBACK *LPDDENUMMODESCALLBACK)(DDSURFACEDESC *desc, void *ctx);
@@ -1067,20 +1067,22 @@ typedef HRESULT (CALLBACK *LPDDENUMSURFACESCALLBACK2)(struct IDirectDrawSurface4
 typedef HRESULT (CALLBACK *LPDDENUMSURFACESCALLBACK7)(struct IDirectDrawSurface7 *surface,
         DDSURFACEDESC2 *surface_desc, void *ctx);
 
-typedef BOOL (CALLBACK *LPDDENUMCALLBACKEXA)(GUID *, LPSTR, LPSTR, LPVOID, HMONITOR);
-typedef BOOL (CALLBACK *LPDDENUMCALLBACKEXW)(GUID *, LPWSTR, LPWSTR, LPVOID, HMONITOR);
+typedef BOOL (CALLBACK *LPDDENUMCALLBACKEXA)(GUID *guid, char *driver_description,
+        char *driver_name, void *ctx, HMONITOR monitor);
+typedef BOOL (CALLBACK *LPDDENUMCALLBACKEXW)(GUID *guid, WCHAR *driver_description,
+        WCHAR *driver_name, void *ctx, HMONITOR monitor);
 DECL_WINELIB_TYPE_AW(LPDDENUMCALLBACKEX)
 
-HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACKA,LPVOID);
-HRESULT WINAPI DirectDrawEnumerateW(LPDDENUMCALLBACKW,LPVOID);
+HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACKA cb, void *ctx);
+HRESULT WINAPI DirectDrawEnumerateW(LPDDENUMCALLBACKW cb, void *ctx);
 #define DirectDrawEnumerate WINELIB_NAME_AW(DirectDrawEnumerate)
 
-HRESULT WINAPI DirectDrawEnumerateExA( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
-HRESULT WINAPI DirectDrawEnumerateExW( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
+HRESULT WINAPI DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA cb, void *ctx, DWORD flags);
+HRESULT WINAPI DirectDrawEnumerateExW(LPDDENUMCALLBACKEXW cb, void *ctx, DWORD flags);
 #define DirectDrawEnumerateEx WINELIB_NAME_AW(DirectDrawEnumerateEx)
 
-typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXA)( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
-typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXW)( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
+typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXA)(LPDDENUMCALLBACKEXA cb, void *ctx, DWORD flags);
+typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXW)(LPDDENUMCALLBACKEXW cb, void *ctx, DWORD flags);
 DECL_WINELIB_TYPE_AW(LPDIRECTDRAWENUMERATEEX)
 
 /* flags for DirectDrawEnumerateEx */
@@ -1889,8 +1891,8 @@ DECLARE_INTERFACE_(IDirectDrawSurface,IUnknown)
 /*1c*/    STDMETHOD(BltFast)(THIS_ DWORD x, DWORD y, IDirectDrawSurface *src_surface,
                 RECT *src_rect, DWORD flags) PURE;
 /*20*/    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD flags, IDirectDrawSurface *attachment) PURE;
-/*24*/    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE;
-/*28*/    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE;
+/*24*/    STDMETHOD(EnumAttachedSurfaces)(THIS_ void *ctx, LPDDENUMSURFACESCALLBACK cb) PURE;
+/*28*/    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD flags, void *ctx, LPDDENUMSURFACESCALLBACK cb) PURE;
 /*2c*/    STDMETHOD(Flip)(THIS_ IDirectDrawSurface *dst_surface, DWORD flags) PURE;
 /*30*/    STDMETHOD(GetAttachedSurface)(THIS_ DDSCAPS *caps, IDirectDrawSurface **attachment) PURE;
 /*34*/    STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE;
@@ -1912,7 +1914,7 @@ DECLARE_INTERFACE_(IDirectDrawSurface,IUnknown)
 /*74*/    STDMETHOD(SetColorKey)(THIS_ DWORD flags, DDCOLORKEY *color_key) PURE;
 /*78*/    STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE;
 /*7c*/    STDMETHOD(SetPalette)(THIS_ IDirectDrawPalette *palette) PURE;
-/*80*/    STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE;
+/*80*/    STDMETHOD(Unlock)(THIS_ void *data) PURE;
 /*84*/    STDMETHOD(UpdateOverlay)(THIS_ RECT *src_rect, IDirectDrawSurface *dst_surface,
                 RECT *dst_rect, DWORD flags, DDOVERLAYFX *fx) PURE;
 /*88*/    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE;
@@ -2023,8 +2025,8 @@ DECLARE_INTERFACE_(IDirectDrawSurface2,IUnknown)
     STDMETHOD(BltFast)(THIS_ DWORD x, DWORD y, IDirectDrawSurface2 *src_surface,
             RECT *src_rect, DWORD flags) PURE;
     STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD flags, IDirectDrawSurface2 *attachment) PURE;
-    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE;
-    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE;
+    STDMETHOD(EnumAttachedSurfaces)(THIS_ void *ctx, LPDDENUMSURFACESCALLBACK cb) PURE;
+    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD flags, void *ctx, LPDDENUMSURFACESCALLBACK cb) PURE;
     STDMETHOD(Flip)(THIS_ IDirectDrawSurface2 *dst_surface, DWORD flags) PURE;
     STDMETHOD(GetAttachedSurface)(THIS_ DDSCAPS *caps, IDirectDrawSurface2 **attachment) PURE;
     STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE;
@@ -2046,13 +2048,13 @@ DECLARE_INTERFACE_(IDirectDrawSurface2,IUnknown)
     STDMETHOD(SetColorKey)(THIS_ DWORD flags, DDCOLORKEY *color_key) PURE;
     STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE;
     STDMETHOD(SetPalette)(THIS_ IDirectDrawPalette *palette) PURE;
-    STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE;
+    STDMETHOD(Unlock)(THIS_ void *data) PURE;
     STDMETHOD(UpdateOverlay)(THIS_ RECT *src_rect, IDirectDrawSurface2 *dst_surface, RECT *dst_rect,
             DWORD flags, DDOVERLAYFX *fx) PURE;
     STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD flags, IDirectDrawSurface2 *reference_surface) PURE;
     /* added in v2 */
-    STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE;
+    STDMETHOD(GetDDInterface)(THIS_ void **ddraw) PURE;
     STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE;
 };
@@ -2169,8 +2171,8 @@ DECLARE_INTERFACE_(IDirectDrawSurface3,IUnknown)
     STDMETHOD(BltFast)(THIS_ DWORD x, DWORD y, IDirectDrawSurface3 *src_surface,
             RECT *src_rect, DWORD flags) PURE;
     STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD flags, IDirectDrawSurface3 *attachment) PURE;
-    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE;
-    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE;
+    STDMETHOD(EnumAttachedSurfaces)(THIS_ void *ctx, LPDDENUMSURFACESCALLBACK cb) PURE;
+    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD flags, void *ctx, LPDDENUMSURFACESCALLBACK cb) PURE;
     STDMETHOD(Flip)(THIS_ IDirectDrawSurface3 *dst_surface, DWORD flags) PURE;
     STDMETHOD(GetAttachedSurface)(THIS_ DDSCAPS *caps, IDirectDrawSurface3 **attachment) PURE;
     STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE;
@@ -2192,13 +2194,13 @@ DECLARE_INTERFACE_(IDirectDrawSurface3,IUnknown)
     STDMETHOD(SetColorKey)(THIS_ DWORD flags, DDCOLORKEY *color_key) PURE;
     STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE;
     STDMETHOD(SetPalette)(THIS_ IDirectDrawPalette *palette) PURE;
-    STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE;
+    STDMETHOD(Unlock)(THIS_ void *data) PURE;
     STDMETHOD(UpdateOverlay)(THIS_ RECT *src_rect, IDirectDrawSurface3 *dst_surface, RECT *dst_rect,
             DWORD flags, DDOVERLAYFX *fx) PURE;
     STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD flags, IDirectDrawSurface3 *reference_surface) PURE;
     /* added in v2 */
-    STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE;
+    STDMETHOD(GetDDInterface)(THIS_ void **ddraw) PURE;
     STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE;
     /* added in v3 */
@@ -2320,8 +2322,8 @@ DECLARE_INTERFACE_(IDirectDrawSurface4,IUnknown)
     STDMETHOD(BltFast)(THIS_ DWORD x, DWORD y, IDirectDrawSurface4 *src_surface,
             RECT *src_rect, DWORD flags) PURE;
     STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD flags, IDirectDrawSurface4 *attachment) PURE;
-    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK2 lpEnumSurfacesCallback) PURE;
-    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK2 lpfnCallback) PURE;
+    STDMETHOD(EnumAttachedSurfaces)(THIS_ void *ctx, LPDDENUMSURFACESCALLBACK2 cb) PURE;
+    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD flags, void *ctx, LPDDENUMSURFACESCALLBACK2 cb) PURE;
     STDMETHOD(Flip)(THIS_ IDirectDrawSurface4 *dst_surface, DWORD flags) PURE;
     STDMETHOD(GetAttachedSurface)(THIS_ DDSCAPS2 *caps, IDirectDrawSurface4 **attachment) PURE;
     STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE;
@@ -2349,14 +2351,14 @@ DECLARE_INTERFACE_(IDirectDrawSurface4,IUnknown)
     STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD flags, IDirectDrawSurface4 *reference_surface) PURE;
     /* added in v2 */
-    STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE;
+    STDMETHOD(GetDDInterface)(THIS_ void **ddraw) PURE;
     STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE;
     /* added in v3 */
     STDMETHOD(SetSurfaceDesc)(THIS_ DDSURFACEDESC2 *surface_desc, DWORD flags) PURE;
     /* added in v4 */
-    STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE;
-    STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE;
+    STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, void *data, DWORD size, DWORD flags) PURE;
+    STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, void *data, DWORD *size) PURE;
     STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE;
     STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE;
     STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
@@ -2487,8 +2489,8 @@ DECLARE_INTERFACE_(IDirectDrawSurface7,IUnknown)
     STDMETHOD(BltFast)(THIS_ DWORD x, DWORD y, IDirectDrawSurface7 *src_surface,
             RECT *src_rect, DWORD flags) PURE;
     STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD flags, IDirectDrawSurface7 *attachment) PURE;
-    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback) PURE;
-    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpfnCallback) PURE;
+    STDMETHOD(EnumAttachedSurfaces)(THIS_ void *ctx, LPDDENUMSURFACESCALLBACK7 cb) PURE;
+    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD flags, void *ctx, LPDDENUMSURFACESCALLBACK7 cb) PURE;
     STDMETHOD(Flip)(THIS_ IDirectDrawSurface7 *dst_surface, DWORD flags) PURE;
     STDMETHOD(GetAttachedSurface)(THIS_ DDSCAPS2 *caps, IDirectDrawSurface7 **attachment) PURE;
     STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE;
@@ -2516,14 +2518,14 @@ DECLARE_INTERFACE_(IDirectDrawSurface7,IUnknown)
     STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD flags, IDirectDrawSurface7 *reference_surface) PURE;
     /* added in v2 */
-    STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE;
+    STDMETHOD(GetDDInterface)(THIS_ void **ddraw) PURE;
     STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE;
     STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE;
     /* added in v3 */
     STDMETHOD(SetSurfaceDesc)(THIS_ DDSURFACEDESC2 *surface_desc, DWORD flags) PURE;
     /* added in v4 */
-    STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE;
-    STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE;
+    STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, void *data, DWORD size, DWORD flags) PURE;
+    STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, void *data, DWORD *size) PURE;
     STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE;
     STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE;
     STDMETHOD(ChangeUniquenessValue)(THIS) PURE;
@@ -2719,7 +2721,7 @@ DECLARE_INTERFACE_(IDirectDrawGammaControl,IUnknown)
 
 
 HRESULT WINAPI DirectDrawCreate(GUID *driver_guid, IDirectDraw **ddraw, IUnknown *outer);
-HRESULT WINAPI DirectDrawCreateEx(GUID*,LPVOID*,REFIID,IUnknown*);
+HRESULT WINAPI DirectDrawCreateEx(GUID *driver_guid, void **ddraw, REFIID interface_iid, IUnknown *outer);
 HRESULT WINAPI DirectDrawCreateClipper(DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer);
 
 #ifdef __cplusplus
-- 
1.7.10.4




More information about the wine-patches mailing list