📄 ddraw_thunk.c
字号:
#include "../rosdraw.h"
HRESULT WINAPI
ThunkDirectDraw_QueryInterface(LPDIRECTDRAW iface, REFIID iid, LPVOID *ppObj)
{
DX_WINDBG_trace();
return Main_DirectDraw_QueryInterface ((LPDIRECTDRAW7) iface, iid, ppObj);
}
HRESULT WINAPI
ThunkDirectDraw2_QueryInterface(LPDIRECTDRAW2 iface, REFIID iid, LPVOID *obj)
{
DX_WINDBG_trace();
return Main_DirectDraw_QueryInterface ((LPDIRECTDRAW7) iface, iid, obj);
}
HRESULT WINAPI
ThunkDirectDraw4_QueryInterface(LPDIRECTDRAW4 iface, REFIID iid, LPVOID *ppObj)
{
DX_WINDBG_trace();
return Main_DirectDraw_QueryInterface ((LPDIRECTDRAW7) iface, iid, ppObj);
}
ULONG WINAPI
ThunkDirectDraw_AddRef(LPDIRECTDRAW iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_AddRef((LPDIRECTDRAW7) iface);
}
ULONG WINAPI
ThunkDirectDraw2_AddRef(LPDIRECTDRAW2 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_AddRef((LPDIRECTDRAW7) iface);
}
ULONG WINAPI
ThunkDirectDraw4_AddRef(LPDIRECTDRAW4 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_AddRef((LPDIRECTDRAW7) iface);
}
ULONG WINAPI
ThunkDirectDraw_Release(LPDIRECTDRAW iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_Release ((LPDIRECTDRAW7) iface);
}
ULONG WINAPI
ThunkDirectDraw2_Release(LPDIRECTDRAW2 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_Release ((LPDIRECTDRAW7) iface);
}
ULONG WINAPI
ThunkDirectDraw4_Release(LPDIRECTDRAW4 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_Release ((LPDIRECTDRAW7) iface);
}
HRESULT WINAPI
ThunkDirectDraw_Compact(LPDIRECTDRAW iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_Compact((LPDIRECTDRAW7) iface) ;
}
HRESULT WINAPI
ThunkDirectDraw2_Compact(LPDIRECTDRAW2 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_Compact((LPDIRECTDRAW7) iface) ;
}
HRESULT WINAPI
ThunkDirectDraw4_Compact(LPDIRECTDRAW4 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_Compact((LPDIRECTDRAW7) iface) ;
}
HRESULT WINAPI
ThunkDirectDraw_CreateClipper(LPDIRECTDRAW iface,DWORD dwFlags,LPDIRECTDRAWCLIPPER *ppClipper,IUnknown *pUnkOuter)
{
DX_WINDBG_trace();
return Main_DirectDraw_CreateClipper( (LPDIRECTDRAW7) iface, dwFlags, ppClipper, pUnkOuter);
}
HRESULT WINAPI
ThunkDirectDraw2_CreateClipper(LPDIRECTDRAW2 iface,DWORD dwFlags,LPDIRECTDRAWCLIPPER *ppClipper,IUnknown *pUnkOuter)
{
DX_WINDBG_trace();
return Main_DirectDraw_CreateClipper( (LPDIRECTDRAW7) iface, dwFlags, ppClipper, pUnkOuter);
}
HRESULT WINAPI
ThunkDirectDraw4_CreateClipper(LPDIRECTDRAW4 iface,DWORD dwFlags,LPDIRECTDRAWCLIPPER *ppClipper,IUnknown *pUnkOuter)
{
DX_WINDBG_trace();
return Main_DirectDraw_CreateClipper( (LPDIRECTDRAW7) iface, dwFlags, ppClipper, pUnkOuter);
}
HRESULT WINAPI
ThunkDirectDraw_CreatePalette(LPDIRECTDRAW iface, DWORD dwFlags,
LPPALETTEENTRY pEntries,
LPDIRECTDRAWPALETTE *ppPalette,
IUnknown *pUnkOuter)
{
DX_WINDBG_trace();
return Main_DirectDraw_CreatePalette( (LPDIRECTDRAW7) iface, dwFlags, pEntries, ppPalette, pUnkOuter);
}
HRESULT WINAPI
ThunkDirectDraw2_CreatePalette(LPDIRECTDRAW2 iface, DWORD dwFlags,
LPPALETTEENTRY pEntries,
LPDIRECTDRAWPALETTE *ppPalette,
IUnknown *pUnkOuter)
{
DX_WINDBG_trace();
return Main_DirectDraw_CreatePalette( (LPDIRECTDRAW7) iface, dwFlags, pEntries, ppPalette, pUnkOuter);
}
HRESULT WINAPI
ThunkDirectDraw4_CreatePalette(LPDIRECTDRAW4 iface, DWORD dwFlags, LPPALETTEENTRY pEntries,
LPDIRECTDRAWPALETTE *ppPalette, IUnknown *pUnkOuter)
{
DX_WINDBG_trace();
return Main_DirectDraw_CreatePalette( (LPDIRECTDRAW7) iface, dwFlags, pEntries, ppPalette, pUnkOuter);
}
HRESULT WINAPI
ThunkDirectDraw_CreateSurface(LPDIRECTDRAW iface, LPDDSURFACEDESC pDDSD,
LPDIRECTDRAWSURFACE *ppSurf,
IUnknown *pUnkOuter)
{
HRESULT retValue = DDERR_GENERIC;
LPDDRAWI_DDRAWSURFACE_INT That;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, &pDDSD2,
(LPDIRECTDRAWSURFACE7 *) ppSurf, pUnkOuter);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, NULL,
(LPDIRECTDRAWSURFACE7 *) ppSurf, pUnkOuter);
}
That = (LPDDRAWI_DDRAWSURFACE_INT) *ppSurf;
That->lpVtbl = &DirectDrawSurface3_VTable;
return retValue;
}
HRESULT WINAPI
ThunkDirectDraw2_CreateSurface(LPDIRECTDRAW2 iface, LPDDSURFACEDESC pDDSD,
LPDIRECTDRAWSURFACE *ppSurface, IUnknown *pUnkOuter)
{
HRESULT retValue = DDERR_GENERIC;
LPDDRAWI_DDRAWSURFACE_INT That;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, &pDDSD2,
(LPDIRECTDRAWSURFACE7 *) ppSurface, pUnkOuter);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, NULL,
(LPDIRECTDRAWSURFACE7 *) ppSurface, pUnkOuter);
}
That = (LPDDRAWI_DDRAWSURFACE_INT) *ppSurface;
That->lpVtbl = &DirectDrawSurface3_VTable;
return retValue;
}
HRESULT WINAPI
ThunkDirectDraw4_CreateSurface(LPDIRECTDRAW4 iface, LPDDSURFACEDESC2 pDDSD2,
LPDIRECTDRAWSURFACE4 *ppSurface, IUnknown *pUnkOuter)
{
HRESULT retValue;
LPDDRAWI_DDRAWSURFACE_INT That;
DX_WINDBG_trace();
retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, pDDSD2,
(LPDIRECTDRAWSURFACE7 *) ppSurface, pUnkOuter);
That = (LPDDRAWI_DDRAWSURFACE_INT) *ppSurface;
That->lpVtbl = &DirectDrawSurface3_VTable;
return retValue;
}
HRESULT WINAPI
ThunkDirectDraw_DuplicateSurface(LPDIRECTDRAW iface, LPDIRECTDRAWSURFACE src, LPDIRECTDRAWSURFACE *dst)
{
DX_WINDBG_trace();
return Main_DirectDraw_DuplicateSurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7) src,
(LPDIRECTDRAWSURFACE7*) dst);
}
HRESULT WINAPI
ThunkDirectDraw2_DuplicateSurface(LPDIRECTDRAW2 iface, LPDIRECTDRAWSURFACE src, LPDIRECTDRAWSURFACE *dst)
{
DX_WINDBG_trace();
return Main_DirectDraw_DuplicateSurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7) src,
(LPDIRECTDRAWSURFACE7*) dst);
}
HRESULT WINAPI
ThunkDirectDraw4_DuplicateSurface(LPDIRECTDRAW4 iface, LPDIRECTDRAWSURFACE4 src, LPDIRECTDRAWSURFACE4 *dst)
{
DX_WINDBG_trace();
return Main_DirectDraw_DuplicateSurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7) src,
(LPDIRECTDRAWSURFACE7*) dst);
}
HRESULT WINAPI
ThunkDirectDraw_EnumDisplayModes(LPDIRECTDRAW iface, DWORD dwFlags,
LPDDSURFACEDESC pDDSD, LPVOID context,
LPDDENUMMODESCALLBACK cb)
{
HRESULT retValue = DDERR_GENERIC;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
context, (LPDDENUMMODESCALLBACK2)cb);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, NULL,
context, (LPDDENUMMODESCALLBACK2)cb);
}
return retValue;
}
HRESULT WINAPI
ThunkDirectDraw2_EnumDisplayModes(LPDIRECTDRAW2 iface, DWORD dwFlags,
LPDDSURFACEDESC pDDSD, LPVOID context,
LPDDENUMMODESCALLBACK cb)
{
HRESULT retValue = DDERR_GENERIC;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
context, (LPDDENUMMODESCALLBACK2)cb);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, NULL,
context, (LPDDENUMMODESCALLBACK2)cb);
}
return retValue;
}
HRESULT WINAPI
ThunkDirectDraw4_EnumDisplayModes(LPDIRECTDRAW4 iface, DWORD dwFlags,
LPDDSURFACEDESC2 pDDSD, LPVOID context,
LPDDENUMMODESCALLBACK2 cb)
{
DX_WINDBG_trace();
return Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, pDDSD, context, cb);
}
HRESULT WINAPI
ThunkDirectDraw_EnumSurfaces(LPDIRECTDRAW iface, DWORD dwFlags,
LPDDSURFACEDESC pDDSD, LPVOID context,
LPDDENUMSURFACESCALLBACK cb)
{
HRESULT retValue = DDERR_GENERIC;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
context, (LPDDENUMSURFACESCALLBACK7)cb);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, NULL,
context, (LPDDENUMSURFACESCALLBACK7)cb);
}
return retValue;
}
HRESULT WINAPI
ThunkDirectDraw2_EnumSurfaces(LPDIRECTDRAW2 iface, DWORD dwFlags,
LPDDSURFACEDESC pDDSD, LPVOID context,
LPDDENUMSURFACESCALLBACK cb)
{
HRESULT retValue = DDERR_GENERIC;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
context, (LPDDENUMSURFACESCALLBACK7)cb);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, NULL,
context, (LPDDENUMSURFACESCALLBACK7)cb);
}
return retValue;
}
HRESULT WINAPI
ThunkDirectDraw4_EnumSurfaces(LPDIRECTDRAW4 iface, DWORD dwFlags,
LPDDSURFACEDESC2 pDDSD, LPVOID context,
LPDDENUMSURFACESCALLBACK2 cb)
{
DX_WINDBG_trace();
return Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, pDDSD, context, (LPDDENUMSURFACESCALLBACK7)cb);
}
HRESULT WINAPI
ThunkDirectDraw_FlipToGDISurface(LPDIRECTDRAW iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_FlipToGDISurface((LPDIRECTDRAW7) iface);
}
HRESULT WINAPI
ThunkDirectDraw2_FlipToGDISurface(LPDIRECTDRAW2 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_FlipToGDISurface((LPDIRECTDRAW7) iface);
}
HRESULT WINAPI
ThunkDirectDraw4_FlipToGDISurface(LPDIRECTDRAW4 iface)
{
DX_WINDBG_trace();
return Main_DirectDraw_FlipToGDISurface((LPDIRECTDRAW7) iface);
}
HRESULT WINAPI
ThunkDirectDraw_GetCaps(LPDIRECTDRAW iface, LPDDCAPS pDDC1, LPDDCAPS pDDC2)
{
DX_WINDBG_trace();
return Main_DirectDraw_GetCaps((LPDIRECTDRAW7) iface, pDDC1, pDDC2);
}
HRESULT WINAPI
ThunkDirectDraw2_GetCaps(LPDIRECTDRAW2 iface, LPDDCAPS pDDC1, LPDDCAPS pDDC2)
{
DX_WINDBG_trace();
return Main_DirectDraw_GetCaps((LPDIRECTDRAW7) iface, pDDC1, pDDC2);
}
HRESULT WINAPI
ThunkDirectDraw4_GetCaps(LPDIRECTDRAW4 iface, LPDDCAPS pDDC1, LPDDCAPS pDDC2)
{
DX_WINDBG_trace();
return Main_DirectDraw_GetCaps((LPDIRECTDRAW7) iface, pDDC1, pDDC2);
}
HRESULT WINAPI
ThunkDirectDraw_GetDisplayMode(LPDIRECTDRAW iface, LPDDSURFACEDESC pDDSD)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -