export DirectDrawCreateEx

This commit is contained in:
FunkyFr3sh 2020-10-15 05:13:37 +02:00
parent d45bf45895
commit ae4b72c9c9
9 changed files with 98 additions and 64 deletions

View file

@ -19,41 +19,46 @@ HRESULT __stdcall IDirectDraw__QueryInterface(IDirectDrawImpl* This, REFIID riid
IsEqualGUID(&IID_IDirectDraw4, riid) ||
IsEqualGUID(&IID_IDirectDraw7, riid))
{
dprintf(" GUID = %08X (IID_IDirectDrawX)\n", ((GUID*)riid)->Data1);
IDirectDrawImpl* dd = (IDirectDrawImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
dprintf(" GUID = %08X (IID_IDirectDrawX), ddraw = %p\n", ((GUID*)riid)->Data1, dd);
dd->lpVtbl = &g_dd_vtblx;
IDirectDraw_AddRef(dd);
*obj = dd;
IDirectDraw_AddRef(dd);
ret = S_OK;
}
else if (IsEqualGUID(&IID_IDirectDraw, riid))
{
dprintf(" GUID = %08X (IID_IDirectDraw)\n", ((GUID*)riid)->Data1);
IDirectDrawImpl* dd = (IDirectDrawImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
dprintf(" GUID = %08X (IID_IDirectDraw), ddraw = %p\n", ((GUID*)riid)->Data1, dd);
dd->lpVtbl = &g_dd_vtbl1;
IDirectDraw_AddRef(dd);
*obj = dd;
IDirectDraw_AddRef(dd);
ret = S_OK;
}
else if (IsEqualGUID(&IID_IDirect3D, riid))
{
dprintf(" GUID = %08X (IID_IDirect3D)\n", ((GUID*)riid)->Data1);
IDirect3DImpl* d3d = (IDirect3DImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
dprintf(" GUID = %08X (IID_IDirect3D), d3d = %p\n", ((GUID*)riid)->Data1, d3d);
d3d->lpVtbl = &g_d3d_vtbl1;
d3d->lpVtbl->AddRef(d3d);
*obj = d3d;
d3d->lpVtbl->AddRef(d3d);
ret = S_OK;
}
else if (IsEqualGUID(&IID_IDirect3D2, riid) || IsEqualGUID(&IID_IDirect3D3, riid) || IsEqualGUID(&IID_IDirect3D7, riid))
else if (IsEqualGUID(&IID_IDirect3D2, riid) ||
IsEqualGUID(&IID_IDirect3D3, riid) ||
IsEqualGUID(&IID_IDirect3D7, riid))
{
dprintf(" GUID = %08X (IID_IDirect3DX)\n", ((GUID*)riid)->Data1);