ddraw: Avoid LPVOID.

This commit is contained in:
Henri Verbeet 2013-09-11 08:47:51 +02:00 committed by Alexandre Julliard
parent 9ccced6f41
commit 87ef65ab7b
11 changed files with 123 additions and 132 deletions

View File

@ -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;

View File

@ -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)
{

View File

@ -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;

View File

@ -740,7 +740,7 @@ static void QueryInterface(void)
{
IDirectDrawSurface *dsurface;
DDSURFACEDESC surface;
LPVOID object;
void *object;
HRESULT ret;
/* Create a surface */

View File

@ -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;

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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,

View File

@ -390,7 +390,7 @@ typedef struct _D3DExecuteBufferDesc {
DWORD dwFlags;
DWORD dwCaps;
DWORD dwBufferSize;
LPVOID lpData;
void *lpData;
} D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC;
#define D3DDEB_BUFSIZE 0x00000001

View File

@ -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

View File

@ -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