;@InterfaceName=IDirectDraw

; include IUnknown
BaseIID={00000000-0000-0000-C000-000000000046}

VTBLIndex=3|HRESULT IDirectDraw::Compact(LPDIRECTDRAW lpDD);|FailureIfNegativeRet

;CreateSurface creates an IDirectDrawClipper
;CLSID_DirectDraw {D7B70EE0-4340-11CF-B063-0020AFC2CD35}
;IID_IDirectDrawClipper {593817A0-7DB3-11CF-A2DE-00AA00b93356}
VTBLIndex=4|HRESULT IDirectDraw::CreateClipper(LPDIRECTDRAW lpDD,DWORD dwFlags,LPDIRECTDRAWCLIPPER* lplpDDClipper,IUnknown* pUnkOuter);|out|FailureIfNegativeRet |ObjectCreation(CLSIDValue={D7B70EE0-4340-11CF-B063-0020AFC2CD35}|IIDValue={593817A0-7DB3-11CF-A2DE-00AA00b93356}|ObjectStackIndex=8)

;CreatePalette creates an IDirectDrawPalette
;CLSID_DirectDraw {D7B70EE0-4340-11CF-B063-0020AFC2CD35}
;;IID_IDirectDrawPalette {6C14DB84-A733-11CE-A521-0020AF0BE560}
VTBLIndex=5|HRESULT IDirectDraw::CreatePalette(LPDIRECTDRAW lpDD,DWORD dwFlags,LPPALETTEENTRY lpColorTable,LPDIRECTDRAWPALETTE* lplpDDPalette,IUnknown FAR *pUnkOuter);|out|FailureIfNegativeRet |ObjectCreation(CLSIDValue={D7B70EE0-4340-11CF-B063-0020AFC2CD35}|IIDValue={6C14DB84-A733-11CE-A521-0020AF0BE560}|ObjectStackIndex=12)

;CreateSurface creates an IDirectDrawSurface
;CLSID_DirectDraw {D7B70EE0-4340-11CF-B063-0020AFC2CD35}
;IID_IDirectDrawSurface{6C14DB81-A733-11CE-A521-0020AF0BE560}
VTBLIndex=6|HRESULT IDirectDraw::CreateSurface(LPDIRECTDRAW lpDD,LPDDSURFACEDESC lpDDSurfaceDesc,LPDIRECTDRAWSURFACE* lplpDDSurface,IUnknown* pUnkOuter);|out|FailureIfNegativeRet |ObjectCreation(CLSIDValue={D7B70EE0-4340-11CF-B063-0020AFC2CD35}|IIDValue={6C14DB81-A733-11CE-A521-0020AF0BE560}|ObjectStackIndex=8)

;DuplicateSurface creates an IDirectDrawSurface
;CLSID_DirectDraw {D7B70EE0-4340-11CF-B063-0020AFC2CD35}
;IID_IDirectDrawSurface{6C14DB81-A733-11CE-A521-0020AF0BE560}
VTBLIndex=7|HRESULT IDirectDraw::DuplicateSurface(LPDIRECTDRAW lpDD,LPDIRECTDRAWSURFACE lpDDSurface,LPLPDIRECTDRAWSURFACE lplpDupDDSurface);|out|FailureIfNegativeRet |ObjectCreation(CLSIDValue={D7B70EE0-4340-11CF-B063-0020AFC2CD35}|IIDValue={6C14DB81-A733-11CE-A521-0020AF0BE560}|ObjectStackIndex=8)

VTBLIndex=8|HRESULT IDirectDraw::EnumDisplayModes(LPDIRECTDRAW lpDD,DWORD dwFlags,LPDDSURFACEDESC lpDDSurfaceDesc,LPVOID lpContext,LPDDENUMMODESCALLBACK lpEnumCallback);|out|FailureIfNegativeRet
VTBLIndex=9|HRESULT IDirectDraw::EnumSurfaces(LPDIRECTDRAW lpDD,DWORD dwFlags,LPDDSURFACEDESC lpDDSD,LPVOID lpContext,LPDDENUMSURFACESCALLBACK lpEnumCallback);|out|FailureIfNegativeRet
VTBLIndex=10|HRESULT IDirectDraw::FlipToGDISurface(LPDIRECTDRAW lpD);|FailureIfNegativeRet
VTBLIndex=11|HRESULT IDirectDraw::GetCaps(LPDIRECTDRAW lpDD,LPDDCAPS lpDDDriverCaps,LPDDCAPS lpDDHELCap);|out|FailureIfNegativeRet
VTBLIndex=12|HRESULT IDirectDraw::GetDisplayMode(LPDIRECTDRAW lpDD,LPDDSURFACEDESC lpDDSurfaceDes);|out|FailureIfNegativeRet
VTBLIndex=13|HRESULT IDirectDraw::GetFourCCCodes(LPDIRECTDRAW lpD,DWORD* lpNumCodes,DWORD* lpCode);|out|FailureIfNegativeRet
VTBLIndex=14|HRESULT IDirectDraw::GetGDISurface(LPDIRECTDRAW lpDD,LPDIRECTDRAWSURFACE* lplpGDIDDSSurface);|out|FailureIfNegativeRet
VTBLIndex=15|HRESULT IDirectDraw::GetMonitorFrequency(LPDIRECTDRAW lpDD,LPDWORD lpdwFrequency);|out|FailureIfNegativeRet
VTBLIndex=16|HRESULT IDirectDraw::GetScanLine(LPDIRECTDRAW lpDD,LPDWORD lpdwScanLine);|out|FailureIfNegativeRet
VTBLIndex=17|HRESULT IDirectDraw::GetVerticalBlankStatus(LPDIRECTDRAW lpDD,LPBOOL lpbIsInV);|out|FailureIfNegativeRet
VTBLIndex=18|HRESULT IDirectDraw::Initialize(LPDIRECTDRAW lpDD,GUID* lpGUID);|FailureIfNegativeRet
VTBLIndex=19|HRESULT IDirectDraw::RestoreDisplayMode(LPDIRECTDRAW lpD);|FailureIfNegativeRet
VTBLIndex=20|HRESULT IDirectDraw::SetCooperativeLevel(LPDIRECTDRAW lpDD,HWND hWnd,DWORD dwFlag);|FailureIfNegativeRet
VTBLIndex=21|HRESULT IDirectDraw::SetDisplayMode(LPDIRECTDRAW lpDD,DWORD dwWidth,DWORD dwHeight,DWORD dwBpp);|FailureIfNegativeRet
VTBLIndex=22|HRESULT IDirectDraw::WaitForVerticalBlank(LPDIRECTDRAW lpDD,DWORD dwFlags,HANDLE hEvent);|FailureIfNegativeRet