⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddraw.h

📁 quake的sdl移植
💻 H
📖 第 1 页 / 共 5 页
字号:
/* * callbacks */typedef DWORD   (FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper, HWND hWnd, DWORD code, LPVOID lpContext );#ifdef STREAMINGtypedef DWORD   (FAR PASCAL *LPSURFACESTREAMINGCALLBACK)(DWORD);#endif/* * INTERACES FOLLOW: *      IDirectDraw *      IDirectDrawClipper *      IDirectDrawPalette *      IDirectDrawSurface *//* * IDirectDraw  */#if defined( _WIN32 ) && !defined( _NO_COM )#undef INTERFACE#define INTERFACE IDirectDrawDECLARE_INTERFACE_( IDirectDraw, IUnknown ){    /*** IUnknown methods ***/    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    /*** IDirectDraw methods ***/    STDMETHOD(Compact)(THIS) PURE;    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;    STDMETHOD(FlipToGDISurface)(THIS) PURE;    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;    STDMETHOD(RestoreDisplayMode)(THIS) PURE;    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE;    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;};#if !defined(__cplusplus) || defined(CINTERFACE)#define IDirectDraw_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)#define IDirectDraw_AddRef(p)                       (p)->lpVtbl->AddRef(p)#define IDirectDraw_Release(p)                      (p)->lpVtbl->Release(p)#define IDirectDraw_Compact(p)                      (p)->lpVtbl->Compact(p)#define IDirectDraw_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)#define IDirectDraw_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)#define IDirectDraw_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)#define IDirectDraw_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)#define IDirectDraw_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)#define IDirectDraw_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)#define IDirectDraw_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)#define IDirectDraw_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)#define IDirectDraw_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)#define IDirectDraw_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)#define IDirectDraw_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)#define IDirectDraw_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)#define IDirectDraw_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)#define IDirectDraw_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)#define IDirectDraw_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)#define IDirectDraw_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)#define IDirectDraw_SetDisplayMode(p, a, b, c)      (p)->lpVtbl->SetDisplayMode(p, a, b, c)#define IDirectDraw_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)#endif#endif#if defined( _WIN32 ) && !defined( _NO_COM )#undef INTERFACE#define INTERFACE IDirectDraw2DECLARE_INTERFACE_( IDirectDraw2, IUnknown ){    /*** IUnknown methods ***/    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    /*** IDirectDraw methods ***/    STDMETHOD(Compact)(THIS) PURE;    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;    STDMETHOD(FlipToGDISurface)(THIS) PURE;    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;    STDMETHOD(RestoreDisplayMode)(THIS) PURE;    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;    /*** Added in the v2 interface ***/    STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS, LPDWORD, LPDWORD) PURE;};#if !defined(__cplusplus) || defined(CINTERFACE)#define IDirectDraw2_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)#define IDirectDraw2_AddRef(p)                       (p)->lpVtbl->AddRef(p)#define IDirectDraw2_Release(p)                      (p)->lpVtbl->Release(p)#define IDirectDraw2_Compact(p)                      (p)->lpVtbl->Compact(p)#define IDirectDraw2_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)#define IDirectDraw2_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)#define IDirectDraw2_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)#define IDirectDraw2_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)#define IDirectDraw2_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)#define IDirectDraw2_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)#define IDirectDraw2_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)#define IDirectDraw2_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)#define IDirectDraw2_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)#define IDirectDraw2_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)#define IDirectDraw2_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)#define IDirectDraw2_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)#define IDirectDraw2_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)#define IDirectDraw2_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)#define IDirectDraw2_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)#define IDirectDraw2_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)#define IDirectDraw2_SetDisplayMode(p, a, b, c, d)   (p)->lpVtbl->SetDisplayMode(p, a, b, c, d)#define IDirectDraw2_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)#define IDirectDraw2_GetAvailableVidMem(p, a, b, c)  (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)#endif#endif/* * IDirectDrawPalette */#if defined( _WIN32 ) && !defined( _NO_COM )#undef INTERFACE#define INTERFACE IDirectDrawPaletteDECLARE_INTERFACE_( IDirectDrawPalette, IUnknown ){    /*** IUnknown methods ***/    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    /*** IDirectDrawPalette methods ***/    STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE;    STDMETHOD(GetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD, LPPALETTEENTRY) PURE;    STDMETHOD(SetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;};#if !defined(__cplusplus) || defined(CINTERFACE)#define IDirectDrawPalette_QueryInterface(p, a, b)      (p)->lpVtbl->QueryInterface(p, a, b)#define IDirectDrawPalette_AddRef(p)                    (p)->lpVtbl->AddRef(p)#define IDirectDrawPalette_Release(p)                   (p)->lpVtbl->Release(p)#define IDirectDrawPalette_GetCaps(p, a)                (p)->lpVtbl->GetCaps(p, a)#define IDirectDrawPalette_GetEntries(p, a, b, c, d)    (p)->lpVtbl->GetEntries(p, a, b, c, d)#define IDirectDrawPalette_Initialize(p, a, b, c)       (p)->lpVtbl->Initialize(p, a, b, c)#define IDirectDrawPalette_SetEntries(p, a, b, c, d)    (p)->lpVtbl->SetEntries(p, a, b, c, d)#endif#endif/* * IDirectDrawClipper */#if defined( _WIN32 ) && !defined( _NO_COM )#undef INTERFACE#define INTERFACE IDirectDrawClipperDECLARE_INTERFACE_( IDirectDrawClipper, IUnknown ){    /*** IUnknown methods ***/    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    /*** IDirectDrawClipper methods ***/    STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;    STDMETHOD(GetHWnd)(THIS_ HWND FAR *) PURE;    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE;    STDMETHOD(IsClipListChanged)(THIS_ BOOL FAR *) PURE;    STDMETHOD(SetClipList)(THIS_ LPRGNDATA,DWORD) PURE;    STDMETHOD(SetHWnd)(THIS_ DWORD, HWND ) PURE;};#if !defined(__cplusplus) || defined(CINTERFACE)#define IDirectDrawClipper_QueryInterface(p, a, b)  (p)->lpVtbl->QueryInterface(p, a, b)#define IDirectDrawClipper_AddRef(p)                (p)->lpVtbl->AddRef(p)#define IDirectDrawClipper_Release(p)               (p)->lpVtbl->Release(p)#define IDirectDrawClipper_GetClipList(p, a, b, c)  (p)->lpVtbl->GetClipList(p, a, b, c)#define IDirectDrawClipper_GetHWnd(p, a)            (p)->lpVtbl->GetHWnd(p, a)#define IDirectDrawClipper_Initialize(p, a, b)      (p)->lpVtbl->Initialize(p, a, b)#define IDirectDrawClipper_IsClipListChanged(p, a)  (p)->lpVtbl->IsClipListChanged(p, a)#define IDirectDrawClipper_SetClipList(p, a, b)     (p)->lpVtbl->SetClipList(p, a, b)#define IDirectDrawClipper_SetHWnd(p, a, b)         (p)->lpVtbl->SetHWnd(p, a, b)#endif#endif/* * IDirectDrawSurface and related interfaces */#if defined( _WIN32 ) && !defined( _NO_COM )#undef INTERFACE#define INTERFACE IDirectDrawSurfaceDECLARE_INTERFACE_( IDirectDrawSurface, IUnknown ){    /*** IUnknown methods ***/    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    /*** IDirectDrawSurface methods ***/    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE) PURE;    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX) PURE;    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD) PURE;    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE) PURE;    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE FAR *) PURE;    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;    STDMETHOD(IsLost)(THIS) PURE;    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;    STDMETHOD(Restore)(THIS) PURE;    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;    STDMETHOD(Unlock)(THIS_ LPVOID) PURE;    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX) PURE;    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE) PURE;};#if !defined(__cplusplus) || defined(CINTERFACE)#define IDirectDrawSurface_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)#define IDirectDrawSurface_AddRef(p)                    (p)->lpVtbl->AddRef(p)#define IDirectDrawSurface_Release(p)                   (p)->lpVtbl->Release(p)#define IDirectDrawSurface_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)#define IDirectDrawSurface_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)#define IDirectDrawSurface_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)#define IDirectDrawSurface_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)#define IDirectDrawSurface_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)#define IDirectDrawSurface_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)#define IDirectDrawSurface_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)#define IDirectDrawSurface_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)#define IDirectDrawSurface_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)#define IDirectDrawSurface_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)#define IDirectDrawSurface_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)#define IDirectDrawSurface_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)#define IDirectDrawSurface_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)#define IDirectDrawSurface_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)#define IDirectDrawSurface_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)#define IDirectDrawSurface_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)#define IDirectDrawSurface_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)#define IDirectDrawSurface_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)#define IDirectDrawSurface_IsLost(p)                    (p)->lpVtbl->IsLost(p)#define IDirectDrawSurface_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)#define IDirectDrawSurface_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)#define IDirectDrawSurface_Restore(p)                   (p)->lpVtbl->Restore(p)#define IDirectDrawSurface_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)#define IDirectDrawSurface_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)#define IDirectDrawSurface_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)#define IDirectDrawSurface_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)#define IDirectDrawSurface_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)#define IDirectDrawSurface_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)#endif/* * IDirectDrawSurface2 and related interfaces */#undef INTERFACE#define INTERFACE IDirectDrawSurface2DECLARE_INTERFACE_( IDirectDrawSurface2, IUnknown ){    /*** IUnknown methods ***/    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    /*** IDirectDrawSurface methods ***/    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2) PURE;    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX) PURE;    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD) PURE;    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE2) PURE;    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2, DWORD) PURE;    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *) PURE;    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -