00001
00002
00003 #include "../rosdraw.h"
00004
00005
00006
00007 HRESULT WINAPI
00008 ThunkDirectDraw_QueryInterface(LPDIRECTDRAW iface, REFIID iid, LPVOID *ppObj)
00009 {
00010 DX_WINDBG_trace();
00011
00012 return Main_DirectDraw_QueryInterface ((LPDIRECTDRAW7) iface, iid, ppObj);
00013 }
00014
00015 HRESULT WINAPI
00016 ThunkDirectDraw2_QueryInterface(LPDIRECTDRAW2 iface, REFIID iid, LPVOID *obj)
00017 {
00018 DX_WINDBG_trace();
00019
00020 return Main_DirectDraw_QueryInterface ((LPDIRECTDRAW7) iface, iid, obj);
00021 }
00022
00023
00024 HRESULT WINAPI
00025 ThunkDirectDraw4_QueryInterface(LPDIRECTDRAW4 iface, REFIID iid, LPVOID *ppObj)
00026 {
00027 DX_WINDBG_trace();
00028
00029 return Main_DirectDraw_QueryInterface ((LPDIRECTDRAW7) iface, iid, ppObj);
00030 }
00031
00032 ULONG WINAPI
00033 ThunkDirectDraw_AddRef(LPDIRECTDRAW iface)
00034 {
00035 DX_WINDBG_trace();
00036
00037 return Main_DirectDraw_AddRef((LPDIRECTDRAW7) iface);
00038 }
00039
00040 ULONG WINAPI
00041 ThunkDirectDraw2_AddRef(LPDIRECTDRAW2 iface)
00042 {
00043 DX_WINDBG_trace();
00044
00045 return Main_DirectDraw_AddRef((LPDIRECTDRAW7) iface);
00046 }
00047
00048 ULONG WINAPI
00049 ThunkDirectDraw4_AddRef(LPDIRECTDRAW4 iface)
00050 {
00051 DX_WINDBG_trace();
00052
00053 return Main_DirectDraw_AddRef((LPDIRECTDRAW7) iface);
00054 }
00055
00056 ULONG WINAPI
00057 ThunkDirectDraw_Release(LPDIRECTDRAW iface)
00058 {
00059 DX_WINDBG_trace();
00060
00061 return Main_DirectDraw_Release ((LPDIRECTDRAW7) iface);
00062 }
00063
00064 ULONG WINAPI
00065 ThunkDirectDraw2_Release(LPDIRECTDRAW2 iface)
00066 {
00067 DX_WINDBG_trace();
00068
00069 return Main_DirectDraw_Release ((LPDIRECTDRAW7) iface);
00070 }
00071
00072 ULONG WINAPI
00073 ThunkDirectDraw4_Release(LPDIRECTDRAW4 iface)
00074 {
00075 DX_WINDBG_trace();
00076
00077 return Main_DirectDraw_Release ((LPDIRECTDRAW7) iface);
00078 }
00079
00080 HRESULT WINAPI
00081 ThunkDirectDraw_Compact(LPDIRECTDRAW iface)
00082 {
00083 DX_WINDBG_trace();
00084
00085 return Main_DirectDraw_Compact((LPDIRECTDRAW7) iface) ;
00086 }
00087
00088 HRESULT WINAPI
00089 ThunkDirectDraw2_Compact(LPDIRECTDRAW2 iface)
00090 {
00091 DX_WINDBG_trace();
00092
00093 return Main_DirectDraw_Compact((LPDIRECTDRAW7) iface) ;
00094 }
00095
00096 HRESULT WINAPI
00097 ThunkDirectDraw4_Compact(LPDIRECTDRAW4 iface)
00098 {
00099 DX_WINDBG_trace();
00100
00101 return Main_DirectDraw_Compact((LPDIRECTDRAW7) iface) ;
00102 }
00103
00104 HRESULT WINAPI
00105 ThunkDirectDraw_CreateClipper(LPDIRECTDRAW iface,DWORD dwFlags,LPDIRECTDRAWCLIPPER *ppClipper,IUnknown *pUnkOuter)
00106 {
00107 DX_WINDBG_trace();
00108
00109 return Main_DirectDraw_CreateClipper( (LPDIRECTDRAW7) iface, dwFlags, ppClipper, pUnkOuter);
00110 }
00111
00112 HRESULT WINAPI
00113 ThunkDirectDraw2_CreateClipper(LPDIRECTDRAW2 iface,DWORD dwFlags,LPDIRECTDRAWCLIPPER *ppClipper,IUnknown *pUnkOuter)
00114 {
00115 DX_WINDBG_trace();
00116
00117 return Main_DirectDraw_CreateClipper( (LPDIRECTDRAW7) iface, dwFlags, ppClipper, pUnkOuter);
00118 }
00119
00120 HRESULT WINAPI
00121 ThunkDirectDraw4_CreateClipper(LPDIRECTDRAW4 iface,DWORD dwFlags,LPDIRECTDRAWCLIPPER *ppClipper,IUnknown *pUnkOuter)
00122 {
00123 DX_WINDBG_trace();
00124
00125 return Main_DirectDraw_CreateClipper( (LPDIRECTDRAW7) iface, dwFlags, ppClipper, pUnkOuter);
00126 }
00127
00128 HRESULT WINAPI
00129 ThunkDirectDraw_CreatePalette(LPDIRECTDRAW iface, DWORD dwFlags,
00130 LPPALETTEENTRY pEntries,
00131 LPDIRECTDRAWPALETTE *ppPalette,
00132 IUnknown *pUnkOuter)
00133 {
00134 DX_WINDBG_trace();
00135
00136 return Main_DirectDraw_CreatePalette( (LPDIRECTDRAW7) iface, dwFlags, pEntries, ppPalette, pUnkOuter);
00137 }
00138
00139 HRESULT WINAPI
00140 ThunkDirectDraw2_CreatePalette(LPDIRECTDRAW2 iface, DWORD dwFlags,
00141 LPPALETTEENTRY pEntries,
00142 LPDIRECTDRAWPALETTE *ppPalette,
00143 IUnknown *pUnkOuter)
00144 {
00145 DX_WINDBG_trace();
00146
00147 return Main_DirectDraw_CreatePalette( (LPDIRECTDRAW7) iface, dwFlags, pEntries, ppPalette, pUnkOuter);
00148 }
00149
00150 HRESULT WINAPI
00151 ThunkDirectDraw4_CreatePalette(LPDIRECTDRAW4 iface, DWORD dwFlags, LPPALETTEENTRY pEntries,
00152 LPDIRECTDRAWPALETTE *ppPalette, IUnknown *pUnkOuter)
00153 {
00154 DX_WINDBG_trace();
00155
00156 return Main_DirectDraw_CreatePalette( (LPDIRECTDRAW7) iface, dwFlags, pEntries, ppPalette, pUnkOuter);
00157 }
00158
00159 HRESULT WINAPI
00160 ThunkDirectDraw_CreateSurface(LPDIRECTDRAW iface, LPDDSURFACEDESC pDDSD,
00161 LPDIRECTDRAWSURFACE *ppSurf,
00162 IUnknown *pUnkOuter)
00163 {
00164 HRESULT retValue = DDERR_GENERIC;
00165 LPDDRAWI_DDRAWSURFACE_INT That;
00166
00167 DX_WINDBG_trace();
00168
00169 if (pDDSD != NULL)
00170 {
00171 DDSURFACEDESC2 pDDSD2;
00172 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00173 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00174 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00175 retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, &pDDSD2,
00176 (LPDIRECTDRAWSURFACE7 *) ppSurf, pUnkOuter);
00177 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00178 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00179 }
00180 else
00181 {
00182 retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, NULL,
00183 (LPDIRECTDRAWSURFACE7 *) ppSurf, pUnkOuter);
00184 }
00185
00186 That = (LPDDRAWI_DDRAWSURFACE_INT) *ppSurf;
00187 That->lpVtbl = &DirectDrawSurface3_VTable;
00188
00189 return retValue;
00190 }
00191
00192 HRESULT WINAPI
00193 ThunkDirectDraw2_CreateSurface(LPDIRECTDRAW2 iface, LPDDSURFACEDESC pDDSD,
00194 LPDIRECTDRAWSURFACE *ppSurface, IUnknown *pUnkOuter)
00195 {
00196 HRESULT retValue = DDERR_GENERIC;
00197 LPDDRAWI_DDRAWSURFACE_INT That;
00198
00199 DX_WINDBG_trace();
00200
00201 if (pDDSD != NULL)
00202 {
00203 DDSURFACEDESC2 pDDSD2;
00204 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00205 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00206 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00207 retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, &pDDSD2,
00208 (LPDIRECTDRAWSURFACE7 *) ppSurface, pUnkOuter);
00209 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00210 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00211 }
00212 else
00213 {
00214 retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, NULL,
00215 (LPDIRECTDRAWSURFACE7 *) ppSurface, pUnkOuter);
00216 }
00217
00218 That = (LPDDRAWI_DDRAWSURFACE_INT) *ppSurface;
00219 That->lpVtbl = &DirectDrawSurface3_VTable;
00220
00221 return retValue;
00222 }
00223
00224 HRESULT WINAPI
00225 ThunkDirectDraw4_CreateSurface(LPDIRECTDRAW4 iface, LPDDSURFACEDESC2 pDDSD2,
00226 LPDIRECTDRAWSURFACE4 *ppSurface, IUnknown *pUnkOuter)
00227 {
00228 HRESULT retValue;
00229 LPDDRAWI_DDRAWSURFACE_INT That;
00230
00231 DX_WINDBG_trace();
00232
00233
00234 retValue = Main_DirectDraw_CreateSurface ((LPDIRECTDRAW7) iface, pDDSD2,
00235 (LPDIRECTDRAWSURFACE7 *) ppSurface, pUnkOuter);
00236
00237 That = (LPDDRAWI_DDRAWSURFACE_INT) *ppSurface;
00238 That->lpVtbl = &DirectDrawSurface3_VTable;
00239
00240 return retValue;
00241 }
00242
00243 HRESULT WINAPI
00244 ThunkDirectDraw_DuplicateSurface(LPDIRECTDRAW iface, LPDIRECTDRAWSURFACE src, LPDIRECTDRAWSURFACE *dst)
00245 {
00246 DX_WINDBG_trace();
00247
00248 return Main_DirectDraw_DuplicateSurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7) src,
00249 (LPDIRECTDRAWSURFACE7*) dst);
00250 }
00251
00252 HRESULT WINAPI
00253 ThunkDirectDraw2_DuplicateSurface(LPDIRECTDRAW2 iface, LPDIRECTDRAWSURFACE src, LPDIRECTDRAWSURFACE *dst)
00254 {
00255 DX_WINDBG_trace();
00256
00257 return Main_DirectDraw_DuplicateSurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7) src,
00258 (LPDIRECTDRAWSURFACE7*) dst);
00259 }
00260
00261 HRESULT WINAPI
00262 ThunkDirectDraw4_DuplicateSurface(LPDIRECTDRAW4 iface, LPDIRECTDRAWSURFACE4 src, LPDIRECTDRAWSURFACE4 *dst)
00263 {
00264 DX_WINDBG_trace();
00265
00266 return Main_DirectDraw_DuplicateSurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7) src,
00267 (LPDIRECTDRAWSURFACE7*) dst);
00268 }
00269
00270 HRESULT WINAPI
00271 ThunkDirectDraw_EnumDisplayModes(LPDIRECTDRAW iface, DWORD dwFlags,
00272 LPDDSURFACEDESC pDDSD, LPVOID context,
00273 LPDDENUMMODESCALLBACK cb)
00274 {
00275 HRESULT retValue = DDERR_GENERIC;
00276
00277 DX_WINDBG_trace();
00278
00279 if (pDDSD != NULL)
00280 {
00281 DDSURFACEDESC2 pDDSD2;
00282 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00283 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00284 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00285 retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
00286 context, (LPDDENUMMODESCALLBACK2)cb);
00287 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00288 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00289 }
00290 else
00291 {
00292 retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, NULL,
00293 context, (LPDDENUMMODESCALLBACK2)cb);
00294 }
00295
00296 return retValue;
00297 }
00298
00299 HRESULT WINAPI
00300 ThunkDirectDraw2_EnumDisplayModes(LPDIRECTDRAW2 iface, DWORD dwFlags,
00301 LPDDSURFACEDESC pDDSD, LPVOID context,
00302 LPDDENUMMODESCALLBACK cb)
00303 {
00304 HRESULT retValue = DDERR_GENERIC;
00305
00306 DX_WINDBG_trace();
00307
00308 if (pDDSD != NULL)
00309 {
00310 DDSURFACEDESC2 pDDSD2;
00311 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00312 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00313 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00314 retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
00315 context, (LPDDENUMMODESCALLBACK2)cb);
00316 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00317 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00318 }
00319 else
00320 {
00321 retValue = Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, NULL,
00322 context, (LPDDENUMMODESCALLBACK2)cb);
00323 }
00324
00325 return retValue;
00326 }
00327
00328 HRESULT WINAPI
00329 ThunkDirectDraw4_EnumDisplayModes(LPDIRECTDRAW4 iface, DWORD dwFlags,
00330 LPDDSURFACEDESC2 pDDSD, LPVOID context,
00331 LPDDENUMMODESCALLBACK2 cb)
00332 {
00333 DX_WINDBG_trace();
00334
00335 return Main_DirectDraw_EnumDisplayModes((LPDIRECTDRAW7) iface, dwFlags, pDDSD, context, cb);
00336 }
00337
00338
00339
00340
00341
00342 HRESULT WINAPI
00343 ThunkDirectDraw_EnumSurfaces(LPDIRECTDRAW iface, DWORD dwFlags,
00344 LPDDSURFACEDESC pDDSD, LPVOID context,
00345 LPDDENUMSURFACESCALLBACK cb)
00346 {
00347 HRESULT retValue = DDERR_GENERIC;
00348
00349 DX_WINDBG_trace();
00350
00351 if (pDDSD != NULL)
00352 {
00353 DDSURFACEDESC2 pDDSD2;
00354 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00355 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00356 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00357 retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
00358 context, (LPDDENUMSURFACESCALLBACK7)cb);
00359 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00360 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00361 }
00362 else
00363 {
00364 retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, NULL,
00365 context, (LPDDENUMSURFACESCALLBACK7)cb);
00366 }
00367
00368 return retValue;
00369 }
00370
00371 HRESULT WINAPI
00372 ThunkDirectDraw2_EnumSurfaces(LPDIRECTDRAW2 iface, DWORD dwFlags,
00373 LPDDSURFACEDESC pDDSD, LPVOID context,
00374 LPDDENUMSURFACESCALLBACK cb)
00375 {
00376 HRESULT retValue = DDERR_GENERIC;
00377
00378 DX_WINDBG_trace();
00379
00380 if (pDDSD != NULL)
00381 {
00382 DDSURFACEDESC2 pDDSD2;
00383 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00384 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00385 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00386 retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, &pDDSD2,
00387 context, (LPDDENUMSURFACESCALLBACK7)cb);
00388 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00389 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00390 }
00391 else
00392 {
00393 retValue = Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, NULL,
00394 context, (LPDDENUMSURFACESCALLBACK7)cb);
00395 }
00396
00397 return retValue;
00398 }
00399
00400 HRESULT WINAPI
00401 ThunkDirectDraw4_EnumSurfaces(LPDIRECTDRAW4 iface, DWORD dwFlags,
00402 LPDDSURFACEDESC2 pDDSD, LPVOID context,
00403 LPDDENUMSURFACESCALLBACK2 cb)
00404 {
00405 DX_WINDBG_trace();
00406
00407 return Main_DirectDraw_EnumSurfaces((LPDIRECTDRAW7) iface, dwFlags, pDDSD, context, (LPDDENUMSURFACESCALLBACK7)cb);
00408 }
00409
00410
00411
00412 HRESULT WINAPI
00413 ThunkDirectDraw_FlipToGDISurface(LPDIRECTDRAW iface)
00414 {
00415 DX_WINDBG_trace();
00416
00417 return Main_DirectDraw_FlipToGDISurface((LPDIRECTDRAW7) iface);
00418 }
00419
00420 HRESULT WINAPI
00421 ThunkDirectDraw2_FlipToGDISurface(LPDIRECTDRAW2 iface)
00422 {
00423 DX_WINDBG_trace();
00424
00425 return Main_DirectDraw_FlipToGDISurface((LPDIRECTDRAW7) iface);
00426 }
00427
00428 HRESULT WINAPI
00429 ThunkDirectDraw4_FlipToGDISurface(LPDIRECTDRAW4 iface)
00430 {
00431 DX_WINDBG_trace();
00432
00433 return Main_DirectDraw_FlipToGDISurface((LPDIRECTDRAW7) iface);
00434 }
00435
00436 HRESULT WINAPI
00437 ThunkDirectDraw_GetCaps(LPDIRECTDRAW iface, LPDDCAPS pDDC1, LPDDCAPS pDDC2)
00438 {
00439 DX_WINDBG_trace();
00440
00441 return Main_DirectDraw_GetCaps((LPDIRECTDRAW7) iface, pDDC1, pDDC2);
00442 }
00443
00444 HRESULT WINAPI
00445 ThunkDirectDraw2_GetCaps(LPDIRECTDRAW2 iface, LPDDCAPS pDDC1, LPDDCAPS pDDC2)
00446 {
00447 DX_WINDBG_trace();
00448
00449 return Main_DirectDraw_GetCaps((LPDIRECTDRAW7) iface, pDDC1, pDDC2);
00450 }
00451
00452 HRESULT WINAPI
00453 ThunkDirectDraw4_GetCaps(LPDIRECTDRAW4 iface, LPDDCAPS pDDC1, LPDDCAPS pDDC2)
00454 {
00455 DX_WINDBG_trace();
00456
00457 return Main_DirectDraw_GetCaps((LPDIRECTDRAW7) iface, pDDC1, pDDC2);
00458 }
00459
00460 HRESULT WINAPI
00461 ThunkDirectDraw_GetDisplayMode(LPDIRECTDRAW iface, LPDDSURFACEDESC pDDSD)
00462 {
00463
00464 HRESULT retValue = DDERR_GENERIC;
00465
00466 DX_WINDBG_trace();
00467
00468 if (pDDSD != NULL)
00469 {
00470 DDSURFACEDESC2 pDDSD2;
00471 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00472 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00473 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00474 retValue = Main_DirectDraw_GetDisplayMode((LPDIRECTDRAW7) iface, &pDDSD2);
00475 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00476 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00477 }
00478 else
00479 {
00480 retValue = Main_DirectDraw_GetDisplayMode((LPDIRECTDRAW7) iface, NULL);
00481 }
00482
00483 return retValue;
00484 }
00485
00486 HRESULT WINAPI
00487 ThunkDirectDraw2_GetDisplayMode(LPDIRECTDRAW2 iface, LPDDSURFACEDESC pDDSD)
00488 {
00489 HRESULT retValue = DDERR_GENERIC;
00490
00491 DX_WINDBG_trace();
00492
00493 if (pDDSD != NULL)
00494 {
00495 DDSURFACEDESC2 pDDSD2;
00496 ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
00497 memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
00498 pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
00499 retValue = Main_DirectDraw_GetDisplayMode((LPDIRECTDRAW7) iface, &pDDSD2);
00500 memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
00501 pDDSD->dwSize = sizeof(DDSURFACEDESC);
00502 }
00503 else
00504 {
00505 retValue = Main_DirectDraw_GetDisplayMode((LPDIRECTDRAW7) iface, NULL);
00506 }
00507
00508 return retValue;
00509 }
00510
00511 HRESULT WINAPI
00512 ThunkDirectDraw4_GetDisplayMode(LPDIRECTDRAW4 iface, LPDDSURFACEDESC2 pDDSD2)
00513 {
00514 DX_WINDBG_trace();
00515
00516 return Main_DirectDraw_GetDisplayMode((LPDIRECTDRAW7) iface, pDDSD2);
00517 }
00518
00519 HRESULT WINAPI
00520 ThunkDirectDraw_GetFourCCCodes(LPDIRECTDRAW iface, LPDWORD pNumCodes,
00521 LPDWORD pCodes)
00522 {
00523 DX_WINDBG_trace();
00524
00525 return Main_DirectDraw_GetFourCCCodes((LPDIRECTDRAW7) iface, pNumCodes, pCodes);
00526 }
00527
00528 HRESULT WINAPI
00529 ThunkDirectDraw2_GetFourCCCodes(LPDIRECTDRAW2 iface, LPDWORD pNumCodes,
00530 LPDWORD pCodes)
00531 {
00532 DX_WINDBG_trace();
00533
00534 return Main_DirectDraw_GetFourCCCodes((LPDIRECTDRAW7) iface, pNumCodes, pCodes);
00535 }
00536
00537 HRESULT WINAPI
00538 ThunkDirectDraw4_GetFourCCCodes(LPDIRECTDRAW4 iface, LPDWORD pNumCodes,
00539 LPDWORD pCodes)
00540 {
00541 DX_WINDBG_trace();
00542
00543 return Main_DirectDraw_GetFourCCCodes((LPDIRECTDRAW7) iface, pNumCodes, pCodes);
00544 }
00545
00546 HRESULT WINAPI
00547 ThunkDirectDraw_GetGDISurface(LPDIRECTDRAW iface, LPDIRECTDRAWSURFACE *lplpGDIDDSSurface)
00548 {
00549 DX_WINDBG_trace();
00550
00551 return Main_DirectDraw_GetGDISurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7 *) lplpGDIDDSSurface);
00552 }
00553
00554 HRESULT WINAPI
00555 ThunkDirectDraw2_GetGDISurface(LPDIRECTDRAW2 iface, LPDIRECTDRAWSURFACE *lplpGDIDDSSurface)
00556 {
00557 DX_WINDBG_trace();
00558
00559 return Main_DirectDraw_GetGDISurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7 *) lplpGDIDDSSurface);
00560 }
00561
00562 HRESULT WINAPI
00563 ThunkDirectDraw4_GetGDISurface(LPDIRECTDRAW4 iface, LPDIRECTDRAWSURFACE4 *lplpGDIDDSSurface)
00564 {
00565 DX_WINDBG_trace();
00566
00567 return Main_DirectDraw_GetGDISurface((LPDIRECTDRAW7) iface, (LPDIRECTDRAWSURFACE7 *) lplpGDIDDSSurface);
00568 }
00569
00570 HRESULT WINAPI
00571 ThunkDirectDraw_GetMonitorFrequency(LPDIRECTDRAW iface, LPDWORD pdwFreq)
00572 {
00573 DX_WINDBG_trace();
00574
00575 return Main_DirectDraw_GetMonitorFrequency((LPDIRECTDRAW7) iface, pdwFreq);
00576 }
00577
00578 HRESULT WINAPI
00579 ThunkDirectDraw2_GetMonitorFrequency(LPDIRECTDRAW2 iface, LPDWORD pdwFreq)
00580 {
00581 DX_WINDBG_trace();
00582
00583 return Main_DirectDraw_GetMonitorFrequency((LPDIRECTDRAW7) iface, pdwFreq);
00584 }
00585
00586 HRESULT WINAPI
00587 ThunkDirectDraw4_GetMonitorFrequency(LPDIRECTDRAW4 iface, LPDWORD pdwFreq)
00588 {
00589 DX_WINDBG_trace();
00590
00591 return Main_DirectDraw_GetMonitorFrequency((LPDIRECTDRAW7) iface, pdwFreq);
00592 }
00593
00594 HRESULT WINAPI
00595 ThunkDirectDraw_GetScanLine(LPDIRECTDRAW iface, LPDWORD lpdwScanLine)
00596 {
00597 DX_WINDBG_trace();
00598
00599 return Main_DirectDraw_GetScanLine((LPDIRECTDRAW7) iface, lpdwScanLine);
00600 }
00601
00602 HRESULT WINAPI
00603 ThunkDirectDraw2_GetScanLine(LPDIRECTDRAW2 iface, LPDWORD lpdwScanLine)
00604 {
00605 DX_WINDBG_trace();
00606
00607 return Main_DirectDraw_GetScanLine((LPDIRECTDRAW7) iface, lpdwScanLine);
00608 }
00609
00610 HRESULT WINAPI
00611 ThunkDirectDraw4_GetScanLine(LPDIRECTDRAW4 iface, LPDWORD lpdwScanLine)
00612 {
00613 DX_WINDBG_trace();
00614
00615 return Main_DirectDraw_GetScanLine((LPDIRECTDRAW7) iface, lpdwScanLine);
00616 }
00617
00618 HRESULT WINAPI
00619 ThunkDirectDraw_GetVerticalBlankStatus(LPDIRECTDRAW iface, LPBOOL lpbIsInVB)
00620 {
00621 DX_WINDBG_trace();
00622
00623 return Main_DirectDraw_GetVerticalBlankStatus((LPDIRECTDRAW7) iface, lpbIsInVB);
00624 }
00625
00626 HRESULT WINAPI
00627 ThunkDirectDraw2_GetVerticalBlankStatus(LPDIRECTDRAW2 iface, LPBOOL lpbIsInVB)
00628 {
00629 DX_WINDBG_trace();
00630
00631 return Main_DirectDraw_GetVerticalBlankStatus((LPDIRECTDRAW7) iface, lpbIsInVB);
00632 }
00633
00634 HRESULT WINAPI
00635 ThunkDirectDraw4_GetVerticalBlankStatus(LPDIRECTDRAW4 iface, LPBOOL lpbIsInVB)
00636 {
00637 DX_WINDBG_trace();
00638
00639 return Main_DirectDraw_GetVerticalBlankStatus((LPDIRECTDRAW7) iface, lpbIsInVB);
00640 }
00641
00642 HRESULT WINAPI
00643 ThunkDirectDraw_Initialize(LPDIRECTDRAW iface, LPGUID pGUID)
00644 {
00645 DX_WINDBG_trace();
00646
00647 if (iface==NULL)
00648 {
00649 return DDERR_NOTINITIALIZED;
00650 }
00651
00652 return DDERR_ALREADYINITIALIZED;
00653 }
00654
00655 HRESULT WINAPI
00656 ThunkDirectDraw2_Initialize(LPDIRECTDRAW2 iface, LPGUID pGUID)
00657 {
00658 DX_WINDBG_trace();
00659
00660 if (iface==NULL)
00661 {
00662 return DDERR_NOTINITIALIZED;
00663 }
00664
00665 return DDERR_ALREADYINITIALIZED;
00666 }
00667
00668 HRESULT WINAPI
00669 ThunkDirectDraw4_Initialize(LPDIRECTDRAW4 iface, LPGUID pGUID)
00670 {
00671 DX_WINDBG_trace();
00672
00673 if (iface==NULL)
00674 {
00675 return DDERR_NOTINITIALIZED;
00676 }
00677
00678 return DDERR_ALREADYINITIALIZED;
00679 }
00680
00681
00682 HRESULT WINAPI
00683 ThunkDirectDraw_RestoreDisplayMode(LPDIRECTDRAW iface)
00684 {
00685 DX_WINDBG_trace();
00686
00687 return Main_DirectDraw_RestoreDisplayMode((LPDIRECTDRAW7) iface);
00688 }
00689
00690 HRESULT WINAPI
00691 ThunkDirectDraw2_RestoreDisplayMode(LPDIRECTDRAW2 iface)
00692 {
00693 DX_WINDBG_trace();
00694
00695 return Main_DirectDraw_RestoreDisplayMode((LPDIRECTDRAW7) iface);
00696 }
00697
00698 HRESULT WINAPI
00699 ThunkDirectDraw4_RestoreDisplayMode(LPDIRECTDRAW4 iface)
00700 {
00701 DX_WINDBG_trace();
00702
00703 return Main_DirectDraw_RestoreDisplayMode((LPDIRECTDRAW7) iface);
00704 }
00705
00706 HRESULT WINAPI
00707 ThunkDirectDraw_SetCooperativeLevel(LPDIRECTDRAW iface, HWND hwnd, DWORD dwFlags)
00708 {
00709 DX_WINDBG_trace();
00710
00711 return Main_DirectDraw_SetCooperativeLevel ((LPDIRECTDRAW7) iface, hwnd, dwFlags);
00712 }
00713
00714 HRESULT WINAPI
00715 ThunkDirectDraw2_SetCooperativeLevel(LPDIRECTDRAW2 iface, HWND hwnd, DWORD dwFlags)
00716 {
00717 DX_WINDBG_trace();
00718
00719 return Main_DirectDraw_SetCooperativeLevel ((LPDIRECTDRAW7) iface, hwnd, dwFlags);
00720 }
00721
00722 HRESULT WINAPI
00723 ThunkDirectDraw4_SetCooperativeLevel(LPDIRECTDRAW4 iface, HWND hwnd, DWORD dwFlags)
00724 {
00725 DX_WINDBG_trace();
00726
00727 return Main_DirectDraw_SetCooperativeLevel ((LPDIRECTDRAW7) iface, hwnd, dwFlags);
00728 }
00729
00730 HRESULT WINAPI
00731 ThunkDirectDraw_SetDisplayMode(LPDIRECTDRAW iface, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP)
00732 {
00733 DX_WINDBG_trace();
00734
00735 return Main_DirectDraw_SetDisplayMode ((LPDIRECTDRAW7) iface, dwWidth, dwHeight, dwBPP, 0, 0);
00736 }
00737
00738 HRESULT WINAPI
00739 ThunkDirectDraw2_SetDisplayMode(LPDIRECTDRAW2 iface, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD d, DWORD e)
00740 {
00741 DX_WINDBG_trace();
00742
00743 return Main_DirectDraw_SetDisplayMode ((LPDIRECTDRAW7) iface, dwWidth, dwHeight, dwBPP, 0, 0);
00744 }
00745
00746 HRESULT WINAPI
00747 ThunkDirectDraw4_SetDisplayMode(LPDIRECTDRAW4 iface, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD d, DWORD e)
00748 {
00749 DX_WINDBG_trace();
00750
00751 return Main_DirectDraw_SetDisplayMode ((LPDIRECTDRAW7) iface, dwWidth, dwHeight, dwBPP, 0, 0);
00752 }
00753
00754 HRESULT WINAPI
00755 ThunkDirectDraw_WaitForVerticalBlank(LPDIRECTDRAW iface, DWORD dwFlags, HANDLE hEvent)
00756 {
00757 DX_WINDBG_trace();
00758
00759 return Main_DirectDraw_WaitForVerticalBlank((LPDIRECTDRAW7) iface, dwFlags, hEvent);
00760 }
00761
00762 HRESULT WINAPI
00763 ThunkDirectDraw2_WaitForVerticalBlank(LPDIRECTDRAW2 iface, DWORD dwFlags, HANDLE hEvent)
00764 {
00765 DX_WINDBG_trace();
00766
00767 return Main_DirectDraw_WaitForVerticalBlank((LPDIRECTDRAW7) iface, dwFlags, hEvent);
00768 }
00769
00770 HRESULT WINAPI
00771 ThunkDirectDraw4_WaitForVerticalBlank(LPDIRECTDRAW4 iface, DWORD dwFlags, HANDLE hEvent)
00772 {
00773 DX_WINDBG_trace();
00774
00775 return Main_DirectDraw_WaitForVerticalBlank((LPDIRECTDRAW7) iface, dwFlags, hEvent);
00776 }
00777
00778
00779
00780
00781
00782 HRESULT WINAPI
00783 ThunkDirectDraw4_GetSurfaceFromDC(LPDIRECTDRAW4 iface, HDC hdc, LPDIRECTDRAWSURFACE4 *pSurf)
00784 {
00785 DX_WINDBG_trace();
00786
00787 return Main_DirectDraw_GetSurfaceFromDC((LPDIRECTDRAW7) iface, hdc, (LPDIRECTDRAWSURFACE7 *) pSurf);
00788 }
00789
00790 HRESULT WINAPI
00791 ThunkDirectDraw4_RestoreAllSurfaces(LPDIRECTDRAW4 iface)
00792 {
00793 DX_WINDBG_trace();
00794
00795 return Main_DirectDraw_RestoreAllSurfaces((LPDIRECTDRAW7) iface);
00796 }
00797
00798 HRESULT WINAPI
00799 ThunkDirectDraw4_TestCooperativeLevel(LPDIRECTDRAW4 iface)
00800 {
00801 DX_WINDBG_trace();
00802
00803 return Main_DirectDraw_TestCooperativeLevel((LPDIRECTDRAW7) iface);
00804 }
00805
00806
00807
00808 HRESULT WINAPI
00809 ThunkDirectDraw4_GetDeviceIdentifier(LPDIRECTDRAW4 iface,
00810 LPDDDEVICEIDENTIFIER pDDDI, DWORD dwFlags)
00811 {
00812 HRESULT retValue = DDERR_GENERIC;
00813
00814 DX_WINDBG_trace();
00815
00816 if (pDDDI != NULL)
00817 {
00818
00819 DDDEVICEIDENTIFIER2 pDDDI2;
00820 ZeroMemory(&pDDDI2,sizeof(DDDEVICEIDENTIFIER2));
00821 memcpy(&pDDDI2, pDDDI, sizeof(DDDEVICEIDENTIFIER));
00822 retValue = Main_DirectDraw_GetDeviceIdentifier((LPDIRECTDRAW7) iface, &pDDDI2, dwFlags);
00823 memcpy(pDDDI, &pDDDI2, sizeof(DDDEVICEIDENTIFIER));
00824 }
00825 else
00826 {
00827 retValue = Main_DirectDraw_GetDeviceIdentifier((LPDIRECTDRAW7) iface, NULL, dwFlags);
00828 }
00829
00830 return retValue;
00831 }
00832
00833
00834
00835 IDirectDrawVtbl DirectDraw_Vtable =
00836 {
00837 ThunkDirectDraw_QueryInterface,
00838 ThunkDirectDraw_AddRef,
00839 ThunkDirectDraw_Release,
00840 ThunkDirectDraw_Compact,
00841 ThunkDirectDraw_CreateClipper,
00842 ThunkDirectDraw_CreatePalette,
00843 ThunkDirectDraw_CreateSurface,
00844 ThunkDirectDraw_DuplicateSurface,
00845 ThunkDirectDraw_EnumDisplayModes,
00846 ThunkDirectDraw_EnumSurfaces,
00847 ThunkDirectDraw_FlipToGDISurface,
00848 ThunkDirectDraw_GetCaps,
00849 ThunkDirectDraw_GetDisplayMode,
00850 ThunkDirectDraw_GetFourCCCodes,
00851 ThunkDirectDraw_GetGDISurface,
00852 ThunkDirectDraw_GetMonitorFrequency,
00853 ThunkDirectDraw_GetScanLine,
00854 ThunkDirectDraw_GetVerticalBlankStatus,
00855 ThunkDirectDraw_Initialize,
00856 ThunkDirectDraw_RestoreDisplayMode,
00857 ThunkDirectDraw_SetCooperativeLevel,
00858 ThunkDirectDraw_SetDisplayMode,
00859 ThunkDirectDraw_WaitForVerticalBlank,
00860 };
00861
00862 IDirectDraw2Vtbl DirectDraw2_Vtable =
00863 {
00864 ThunkDirectDraw2_QueryInterface,
00865 ThunkDirectDraw2_AddRef,
00866 ThunkDirectDraw2_Release,
00867 ThunkDirectDraw2_Compact,
00868 ThunkDirectDraw2_CreateClipper,
00869 ThunkDirectDraw2_CreatePalette,
00870 ThunkDirectDraw2_CreateSurface,
00871 ThunkDirectDraw2_DuplicateSurface,
00872 ThunkDirectDraw2_EnumDisplayModes,
00873 ThunkDirectDraw2_EnumSurfaces,
00874 ThunkDirectDraw2_FlipToGDISurface,
00875 ThunkDirectDraw2_GetCaps,
00876 ThunkDirectDraw2_GetDisplayMode,
00877 ThunkDirectDraw2_GetFourCCCodes,
00878 ThunkDirectDraw2_GetGDISurface,
00879 ThunkDirectDraw2_GetMonitorFrequency,
00880 ThunkDirectDraw2_GetScanLine,
00881 ThunkDirectDraw2_GetVerticalBlankStatus,
00882 ThunkDirectDraw2_Initialize,
00883 ThunkDirectDraw2_RestoreDisplayMode,
00884 ThunkDirectDraw2_SetCooperativeLevel,
00885 ThunkDirectDraw2_SetDisplayMode,
00886 ThunkDirectDraw2_WaitForVerticalBlank,
00887 ThunkDirectDraw2_GetAvailableVidMem
00888 };
00889
00890 IDirectDraw4Vtbl DirectDraw4_Vtable =
00891 {
00892 ThunkDirectDraw4_QueryInterface,
00893 ThunkDirectDraw4_AddRef,
00894 ThunkDirectDraw4_Release,
00895 ThunkDirectDraw4_Compact,
00896 ThunkDirectDraw4_CreateClipper,
00897 ThunkDirectDraw4_CreatePalette,
00898 ThunkDirectDraw4_CreateSurface,
00899 ThunkDirectDraw4_DuplicateSurface,
00900 ThunkDirectDraw4_EnumDisplayModes,
00901 ThunkDirectDraw4_EnumSurfaces,
00902 ThunkDirectDraw4_FlipToGDISurface,
00903 ThunkDirectDraw4_GetCaps,
00904 ThunkDirectDraw4_GetDisplayMode,
00905 ThunkDirectDraw4_GetFourCCCodes,
00906 ThunkDirectDraw4_GetGDISurface,
00907 ThunkDirectDraw4_GetMonitorFrequency,
00908 ThunkDirectDraw4_GetScanLine,
00909 ThunkDirectDraw4_GetVerticalBlankStatus,
00910 ThunkDirectDraw4_Initialize,
00911 ThunkDirectDraw4_RestoreDisplayMode,
00912 ThunkDirectDraw4_SetCooperativeLevel,
00913 ThunkDirectDraw4_SetDisplayMode,
00914 ThunkDirectDraw4_WaitForVerticalBlank,
00915 ThunkDirectDraw4_GetAvailableVidMem,
00916 ThunkDirectDraw4_GetSurfaceFromDC,
00917 ThunkDirectDraw4_RestoreAllSurfaces,
00918 ThunkDirectDraw4_TestCooperativeLevel,
00919 ThunkDirectDraw4_GetDeviceIdentifier
00920 };