Ignore:
Timestamp:
Aug 31, 2000, 7:57:10 PM (25 years ago)
Author:
sandervl
Message:

QueryInterface fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ddraw/OS2DDRAW.CPP

    r4135 r4136  
    1 /* $Id: OS2DDRAW.CPP,v 1.22 2000-08-31 12:48:41 sandervl Exp $ */
     1/* $Id: OS2DDRAW.CPP,v 1.23 2000-08-31 17:57:09 sandervl Exp $ */
    22
    33/*
     
    243243//******************************************************************************
    244244//******************************************************************************
    245 HRESULT __stdcall DrawQueryInterface(THIS This, REFIID riid, LPVOID FAR * ppvObj)
     245HRESULT WIN32API DrawQueryInterface(THIS This, REFIID riid, LPVOID FAR * ppvObj)
    246246{
    247247 OS2IDirectDraw *me = (OS2IDirectDraw *)This;
    248   #ifdef DEBUG
    249     dprintf(("DDRAW: OS2IDirectDraw::QueryInterface\n"));
    250   #endif
     248
     249  dprintf(("DDRAW: OS2IDirectDraw::QueryInterface %x %x %x", This, riid, ppvObj));
    251250
    252251  *ppvObj = NULL;
     
    256255     !IsEqualGUID(riid, IID_IDirectDraw2) &&
    257256     !IsEqualGUID(riid, IID_IDirectDraw4) &&
    258      !IsEqualGUID(riid, IID_IDirect3D) &&
    259      !IsEqualGUID(riid, IID_IUnknown))
     257     !IsEqualGUID(riid, IID_IDirect3D))
     258//     !IsEqualGUID(riid, IID_IUnknown))
    260259  return E_NOINTERFACE;
    261260
    262 #if 1
    263   if(IsEqualGUID(riid, IID_IUnknown)) {
    264      *ppvObj = (LPVOID) This;
    265      me->lpVtbl2 = me->lpVtbl;
    266   }
    267   else
     261  // ToDo Better way of returning differnent interfaces for same class
    268262  if(IsEqualGUID(riid, IID_IDirect3D))
    269263  {
    270      me->lpVtbl2 = (IDirectDraw4Vtbl *)&me->Vtbl3D;
    271      *ppvObj = (LPVOID) &me->lpVtbl2;
    272   }
    273   else
    274   {
    275     if(IsEqualGUID(riid, IID_IDirectDraw4))
    276     {
    277       dprintf(("DDRAW: IID_IDirectDraw4 Interface\n"));
    278       me->lpVtbl2 = (IDirectDraw4Vtbl *)&me->Vtbl4;
    279       *ppvObj = (LPVOID) &me->lpVtbl2;
    280     }
    281     else
    282     {
    283       if(IsEqualGUID(riid, IID_IDirectDraw2))
    284       {
    285         dprintf(("DDRAW: IID_IDirectDraw2 Interface\n"));
    286         me->lpVtbl2 = (IDirectDraw4Vtbl *)&me->Vtbl2;
    287         *ppvObj = (LPVOID) &me->lpVtbl2;
    288       }
    289       else
    290       {
    291         dprintf(("DDRAW: IID_IDirectDraw Interface\n"));
    292         me->lpVtbl2 = (IDirectDraw4Vtbl *)&me->Vtbl;
    293         *ppvObj = (LPVOID) &me->lpVtbl;
    294       }
    295     }
    296   }
    297   DrawAddRef(This);
    298 #else
    299   // ToDo Better way of returning differnent intterfaces for same class
    300   if(IsEqualGUID(riid, IID_IDirect3D))
    301   {
    302     me->lpVtbl = (IDirectDraw4Vtbl *) &me->Vtbl3D;
     264    me->lpVtbl3D         = &me->Vtbl3D;
     265    me->lpVtbl3D2        = me->lpVtbl3D;
     266    me->pdwUnknownData3D = me->pdwUnknownData;
     267    *ppvObj = (LPVOID)&me->lpVtbl3D;
     268    DrawAddRef(This);
     269    return DD_OK;
    303270  }
    304271  else
     
    326293  *ppvObj = This;
    327294  DrawAddRef(This);
    328 #endif
    329 
    330   return(DD_OK);
    331 }
    332 //******************************************************************************
    333 //******************************************************************************
    334 ULONG __stdcall DrawAddRef(THIS This)
     295
     296  return(DD_OK);
     297}
     298//******************************************************************************
     299//******************************************************************************
     300ULONG WIN32API DrawAddRef(THIS This)
    335301{
    336302 OS2IDirectDraw *me = (OS2IDirectDraw *)This;
     
    344310//******************************************************************************
    345311//******************************************************************************
    346 ULONG __stdcall DrawRelease(THIS This)
     312ULONG WIN32API DrawRelease(THIS This)
    347313{
    348314 OS2IDirectDraw *me = (OS2IDirectDraw *)This;
     
    373339//******************************************************************************
    374340//******************************************************************************
    375 HRESULT __stdcall DrawCompact(THIS)
     341HRESULT WIN32API DrawCompact(THIS)
    376342{
    377343  #ifdef DEBUG
     
    383349//******************************************************************************
    384350//******************************************************************************
    385 HRESULT __stdcall DrawCreateClipper(THIS This, DWORD, LPDIRECTDRAWCLIPPER FAR *lplpDD, IUnknown FAR * )
     351HRESULT WIN32API DrawCreateClipper(THIS This, DWORD, LPDIRECTDRAWCLIPPER FAR *lplpDD, IUnknown FAR * )
    386352{
    387353 OS2IDirectDraw        *me = (OS2IDirectDraw *)This;
     
    416382//******************************************************************************
    417383//******************************************************************************
    418 HRESULT __stdcall DrawCreatePalette(THIS This, DWORD dwFlags,
     384HRESULT WIN32API DrawCreatePalette(THIS This, DWORD dwFlags,
    419385            LPPALETTEENTRY lpColorTable,
    420386            LPDIRECTDRAWPALETTE FAR *lplpDD,
     
    476442//******************************************************************************
    477443//******************************************************************************
    478 HRESULT __stdcall DrawCreateSurface(THIS This, LPDDSURFACEDESC lpDDSurfaceDesc,
     444HRESULT WIN32API DrawCreateSurface(THIS This, LPDDSURFACEDESC lpDDSurfaceDesc,
    479445            LPDIRECTDRAWSURFACE FAR *lplpDD,
    480446            IUnknown FAR *pUnkOuter)
     
    522488//******************************************************************************
    523489//******************************************************************************
    524 HRESULT __stdcall DrawCreateSurface4(THIS This, LPDDSURFACEDESC2 lpDDSurfaceDesc2,
     490HRESULT WIN32API DrawCreateSurface4(THIS This, LPDDSURFACEDESC2 lpDDSurfaceDesc2,
    525491            LPDIRECTDRAWSURFACE4 FAR *lplpDD,
    526492            IUnknown FAR *pUnkOuter)
     
    569535//******************************************************************************
    570536//******************************************************************************
    571 HRESULT __stdcall DrawDuplicateSurface(THIS, LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * )
     537HRESULT WIN32API DrawDuplicateSurface(THIS, LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * )
    572538{
    573539  #ifdef DEBUG
     
    578544//******************************************************************************
    579545//******************************************************************************
    580 HRESULT __stdcall DrawDuplicateSurface4(THIS, LPDIRECTDRAWSURFACE4, LPDIRECTDRAWSURFACE4 FAR * )
     546HRESULT WIN32API DrawDuplicateSurface4(THIS, LPDIRECTDRAWSURFACE4, LPDIRECTDRAWSURFACE4 FAR * )
    581547{
    582548  #ifdef DEBUG
     
    588554//******************************************************************************
    589555//******************************************************************************
    590 HRESULT __stdcall DrawEnumDisplayModes( THIS This,
     556HRESULT WIN32API DrawEnumDisplayModes( THIS This,
    591557                                        DWORD dwFlags,
    592558                                        LPDDSURFACEDESC lpDDSurfaceDesc,
     
    882848//******************************************************************************
    883849//******************************************************************************
    884 HRESULT __stdcall DrawEnumDisplayModes4(THIS This, DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc2,
     850HRESULT WIN32API DrawEnumDisplayModes4(THIS This, DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc2,
    885851                                       LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpDDEnumModesCallback2)
    886852{
     
    897863//******************************************************************************
    898864//******************************************************************************
    899 HRESULT __stdcall DrawEnumSurfaces(THIS, DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK )
     865HRESULT WIN32API DrawEnumSurfaces(THIS, DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK )
    900866{
    901867  #ifdef DEBUG
     
    907873//******************************************************************************
    908874//******************************************************************************
    909 HRESULT __stdcall DrawEnumSurfaces4(THIS, DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 )
     875HRESULT WIN32API DrawEnumSurfaces4(THIS, DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 )
    910876{
    911877  #ifdef DEBUG
     
    917883//******************************************************************************
    918884//******************************************************************************
    919 HRESULT __stdcall DrawFlipToGDISurface(THIS)
     885HRESULT WIN32API DrawFlipToGDISurface(THIS)
    920886{
    921887  #ifdef DEBUG
     
    927893//******************************************************************************
    928894//******************************************************************************
    929 HRESULT __stdcall DrawGetCaps(THIS This, LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps)
     895HRESULT WIN32API DrawGetCaps(THIS This, LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps)
    930896{
    931897 DWORD dwSize;
     
    11911157//******************************************************************************
    11921158//******************************************************************************
    1193 HRESULT __stdcall DrawGetDisplayMode(THIS This, LPDDSURFACEDESC lpDDSurfaceDesc)
     1159HRESULT WIN32API DrawGetDisplayMode(THIS This, LPDDSURFACEDESC lpDDSurfaceDesc)
    11941160{
    11951161  OS2IDirectDraw        *me = (OS2IDirectDraw *)This;
     
    13061272//******************************************************************************
    13071273//******************************************************************************
    1308 HRESULT __stdcall DrawGetDisplayMode4(THIS This, LPDDSURFACEDESC2 lpDDSurfaceDesc2)
     1274HRESULT WIN32API DrawGetDisplayMode4(THIS This, LPDDSURFACEDESC2 lpDDSurfaceDesc2)
    13091275{
    13101276  OS2IDirectDraw        *me = (OS2IDirectDraw *)This;
     
    14211387//******************************************************************************
    14221388//******************************************************************************
    1423 HRESULT __stdcall DrawGetFourCCCodes(THIS This, LPDWORD lpNumCodes, LPDWORD lpCodes)
     1389HRESULT WIN32API DrawGetFourCCCodes(THIS This, LPDWORD lpNumCodes, LPDWORD lpCodes)
    14241390{
    14251391//  DWORD dwFCC[MAX_FOURCC_CODES] = {FOURCC_LUT8,FOURCC_R565,FOURCC_RGB3,FOURCC_YUY2};
     
    14481414//******************************************************************************
    14491415//******************************************************************************
    1450 HRESULT __stdcall DrawGetGDISurface(THIS, LPDIRECTDRAWSURFACE FAR *)
     1416HRESULT WIN32API DrawGetGDISurface(THIS, LPDIRECTDRAWSURFACE FAR *)
    14511417{
    14521418  #ifdef DEBUG
     
    14581424//******************************************************************************
    14591425//******************************************************************************
    1460 HRESULT __stdcall DrawGetGDISurface4(THIS, LPDIRECTDRAWSURFACE4 FAR *)
     1426HRESULT WIN32API DrawGetGDISurface4(THIS, LPDIRECTDRAWSURFACE4 FAR *)
    14611427{
    14621428  #ifdef DEBUG
     
    14681434//******************************************************************************
    14691435//******************************************************************************
    1470 HRESULT __stdcall DrawGetMonitorFrequency(THIS This, LPDWORD lpdwFreq)
     1436HRESULT WIN32API DrawGetMonitorFrequency(THIS This, LPDWORD lpdwFreq)
    14711437{
    14721438  ULONG ulTime1, ulTime2;
     
    15071473//******************************************************************************
    15081474//******************************************************************************
    1509 HRESULT __stdcall DrawGetScanLine(THIS, LPDWORD lpdwLine)
     1475HRESULT WIN32API DrawGetScanLine(THIS, LPDWORD lpdwLine)
    15101476{
    15111477  BOOL bVertBlank;
     
    15311497//******************************************************************************
    15321498//******************************************************************************
    1533 HRESULT __stdcall DrawGetVerticalBlankStatus(THIS , LPBOOL lpbIsInVB)
     1499HRESULT WIN32API DrawGetVerticalBlankStatus(THIS , LPBOOL lpbIsInVB)
    15341500{
    15351501  int rc;
     
    15591525//******************************************************************************
    15601526//******************************************************************************
    1561 HRESULT __stdcall DrawInitialize(THIS, GUID FAR *)
     1527HRESULT WIN32API DrawInitialize(THIS, GUID FAR *)
    15621528{
    15631529  #ifdef DEBUG
     
    15691535//******************************************************************************
    15701536//******************************************************************************
    1571 HRESULT __stdcall DrawRestoreDisplayMode(THIS)
     1537HRESULT WIN32API DrawRestoreDisplayMode(THIS)
    15721538{
    15731539  #ifdef DEBUG
     
    15791545//******************************************************************************
    15801546//******************************************************************************
    1581 HRESULT __stdcall DrawSetCooperativeLevel(THIS This, HWND hwndClient, DWORD dwFlags)
     1547HRESULT WIN32API DrawSetCooperativeLevel(THIS This, HWND hwndClient, DWORD dwFlags)
    15821548{
    15831549 OS2IDirectDraw        *me = (OS2IDirectDraw *)This;
     
    16021568//Backwards compatibility, what's that??
    16031569//******************************************************************************
    1604 HRESULT __stdcall DrawSetDisplayMode2(THIS This, DWORD dwWidth, DWORD dwHeight,
     1570HRESULT WIN32API DrawSetDisplayMode2(THIS This, DWORD dwWidth, DWORD dwHeight,
    16051571              DWORD dwBPP, DWORD dwRefreshRate,
    16061572              DWORD dwFlags)
     
    16471613//******************************************************************************
    16481614//******************************************************************************
    1649 HRESULT __stdcall DrawSetDisplayMode(THIS This, DWORD dwWidth, DWORD dwHeight,
     1615HRESULT WIN32API DrawSetDisplayMode(THIS This, DWORD dwWidth, DWORD dwHeight,
    16501616             DWORD dwBPP)
    16511617{
     
    16891655//******************************************************************************
    16901656//******************************************************************************
    1691 HRESULT __stdcall DrawWaitForVerticalBlank(THIS, DWORD dwFlags, HANDLE hEvent)
     1657HRESULT WIN32API DrawWaitForVerticalBlank(THIS, DWORD dwFlags, HANDLE hEvent)
    16921658{
    16931659  HRESULT rc;
     
    17481714//*** Added in the v2 interface ***
    17491715//******************************************************************************
    1750 HRESULT __stdcall DrawGetAvailableVidMem(THIS, LPDDSCAPS lpDDSCaps,
     1716HRESULT WIN32API DrawGetAvailableVidMem(THIS, LPDDSCAPS lpDDSCaps,
    17511717                                         LPDWORD lpdwTotal, LPDWORD lpdwFree)
    17521718{
     
    17731739//
    17741740//******************************************************************************
    1775 HRESULT __stdcall DrawGetAvailableVidMem4(THIS, LPDDSCAPS2 lpDDSCaps2,
     1741HRESULT WIN32API DrawGetAvailableVidMem4(THIS, LPDDSCAPS2 lpDDSCaps2,
    17761742                                         LPDWORD lpdwTotal, LPDWORD lpdwFree)
    17771743{
     
    17981764//*** Added in the v4 interface ***
    17991765//******************************************************************************
    1800 HRESULT __stdcall DrawGetSurfaceFromDC(THIS, HDC hdc, LPDIRECTDRAWSURFACE4 *)
     1766HRESULT WIN32API DrawGetSurfaceFromDC(THIS, HDC hdc, LPDIRECTDRAWSURFACE4 *)
    18011767{
    18021768  #ifdef DEBUG
     
    18081774//******************************************************************************
    18091775//******************************************************************************
    1810 HRESULT __stdcall DrawRestoreAllSurfaces(THIS)
     1776HRESULT WIN32API DrawRestoreAllSurfaces(THIS)
    18111777{
    18121778  #ifdef DEBUG
     
    18181784//******************************************************************************
    18191785//******************************************************************************
    1820 HRESULT __stdcall DrawTestCooperativeLevel(THIS)
     1786HRESULT WIN32API DrawTestCooperativeLevel(THIS)
    18211787{
    18221788  #ifdef DEBUG
     
    18281794//******************************************************************************
    18291795//******************************************************************************
    1830 HRESULT __stdcall DrawGetDeviceIdentifier( THIS, LPDDDEVICEIDENTIFIER lpdddi,
     1796HRESULT WIN32API DrawGetDeviceIdentifier( THIS, LPDDDEVICEIDENTIFIER lpdddi,
    18311797                                           DWORD dwFlags)
    18321798{
Note: See TracChangeset for help on using the changeset viewer.