]> git.cworth.org Git - apitrace/blobdiff - ddraw.py
Get DDraw/D3D7 building.
[apitrace] / ddraw.py
index d04ae90217cb382d00d94e0d49804a1aa7c98732..fd8c5f5b25fd29890f84e1c1eee752b546bdf729 100644 (file)
--- a/ddraw.py
+++ b/ddraw.py
@@ -25,7 +25,8 @@
 
 """ddraw.h"""
 
-from windows import *
+from winapi import *
+from trace import DllTracer
 
 IDirectDraw = Interface("IDirectDraw", IUnknown)
 IDirectDraw2 = Interface("IDirectDraw2", IUnknown)
@@ -1248,107 +1249,107 @@ LPDDENUMSURFACESCALLBACK7 = FunctionPointer(HRESULT, "LPDDENUMSURFACESCALLBACK7"
 
 IDirectDraw.methods += [
     Method(HRESULT, "Compact", []),
-    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Pointer(LPDIRECTDRAWSURFACE) , Pointer(IUnknown) ]),
-    Method(HRESULT, "DuplicateSurface", [ LPDIRECTDRAWSURFACE, Pointer(LPDIRECTDRAWSURFACE) ]),
-    Method(HRESULT, "EnumDisplayModes", [ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ]),
-    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ]),
+    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER), Pointer(IUnknown)]),
+    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Pointer(LPDIRECTDRAWSURFACE) , Pointer(IUnknown)]),
+    Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE, Pointer(LPDIRECTDRAWSURFACE)]),
+    Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK]),
+    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "FlipToGDISurface", []),
-    Method(HRESULT, "GetCaps", [ LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [ LPDDSURFACEDESC]),
-    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD ]),
-    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE) ]),
+    Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
+    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC]),
+    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
+    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
     Method(HRESULT, "GetScanLine", [LPDWORD]),
-    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL ]),
-    Method(HRESULT, "Initialize", [Pointer(GUID) ]),
+    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL]),
+    Method(HRESULT, "Initialize", [Pointer(GUID)]),
     Method(HRESULT, "RestoreDisplayMode", []),
     Method(HRESULT, "SetCooperativeLevel", [HWND, DWORD]),
     Method(HRESULT, "SetDisplayMode", [DWORD, DWORD,DWORD]),
-    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE ]),
+    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE]),
 ]
 
 IDirectDraw2.methods += [
     Method(HRESULT, "Compact", []),
-    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Pointer(LPDIRECTDRAWSURFACE) , Pointer(IUnknown) ]),
-    Method(HRESULT, "DuplicateSurface", [ LPDIRECTDRAWSURFACE, Pointer(LPDIRECTDRAWSURFACE) ]),
-    Method(HRESULT, "EnumDisplayModes", [ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ]),
-    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ]),
+    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Pointer(LPDIRECTDRAWSURFACE) , Pointer(IUnknown)]),
+    Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE, Pointer(LPDIRECTDRAWSURFACE)]),
+    Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK]),
+    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "FlipToGDISurface", []),
-    Method(HRESULT, "GetCaps", [ LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [ LPDDSURFACEDESC]),
-    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD ]),
-    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE) ]),
+    Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
+    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC]),
+    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
+    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
     Method(HRESULT, "GetScanLine", [LPDWORD]),
-    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL ]),
-    Method(HRESULT, "Initialize", [Pointer(GUID) ]),
+    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL]),
+    Method(HRESULT, "Initialize", [Pointer(GUID)]),
     Method(HRESULT, "RestoreDisplayMode", []),
     Method(HRESULT, "SetCooperativeLevel", [HWND, DWORD]),
     Method(HRESULT, "SetDisplayMode", [DWORD, DWORD,DWORD, DWORD, DWORD]),
-    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE ]),
+    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE]),
     Method(HRESULT, "GetAvailableVidMem", [LPDDSCAPS, LPDWORD, LPDWORD]),
 ]
 
 IDirectDraw4.methods += [
     Method(HRESULT, "Compact", []),
-    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Pointer(LPDIRECTDRAWSURFACE4) , Pointer(IUnknown) ]),
-    Method(HRESULT, "DuplicateSurface", [ LPDIRECTDRAWSURFACE4, Pointer(LPDIRECTDRAWSURFACE4) ]),
-    Method(HRESULT, "EnumDisplayModes", [ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ]),
-    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 ]),
+    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Pointer(LPDIRECTDRAWSURFACE4) , Pointer(IUnknown)]),
+    Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE4, Pointer(LPDIRECTDRAWSURFACE4)]),
+    Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2]),
+    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2]),
     Method(HRESULT, "FlipToGDISurface", []),
-    Method(HRESULT, "GetCaps", [ LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [ LPDDSURFACEDESC2]),
-    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD ]),
-    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE4) ]),
+    Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
+    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC2]),
+    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
+    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE4)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
     Method(HRESULT, "GetScanLine", [LPDWORD]),
-    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL ]),
-    Method(HRESULT, "Initialize", [Pointer(GUID) ]),
+    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL]),
+    Method(HRESULT, "Initialize", [Pointer(GUID)]),
     Method(HRESULT, "RestoreDisplayMode", []),
     Method(HRESULT, "SetCooperativeLevel", [HWND, DWORD]),
     Method(HRESULT, "SetDisplayMode", [DWORD, DWORD,DWORD, DWORD, DWORD]),
-    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE ]),
+    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE]),
     Method(HRESULT, "GetAvailableVidMem", [LPDDSCAPS2, LPDWORD, LPDWORD]),
     Method(HRESULT, "GetSurfaceFromDC", [HDC, Pointer(LPDIRECTDRAWSURFACE4)]),
     Method(HRESULT, "RestoreAllSurfaces", []),
     Method(HRESULT, "TestCooperativeLevel", []),
-    Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER, DWORD ]),
+    Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER, DWORD]),
 ]
 
 IDirectDraw7.methods += [
     Method(HRESULT, "Compact", []),
-    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown) ]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Pointer(LPDIRECTDRAWSURFACE7) , Pointer(IUnknown) ]),
-    Method(HRESULT, "DuplicateSurface", [ LPDIRECTDRAWSURFACE7, Pointer(LPDIRECTDRAWSURFACE7) ]),
-    Method(HRESULT, "EnumDisplayModes", [ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ]),
-    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK7 ]),
+    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Pointer(LPDIRECTDRAWSURFACE7) , Pointer(IUnknown)]),
+    Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE7, Pointer(LPDIRECTDRAWSURFACE7)]),
+    Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2]),
+    Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK7]),
     Method(HRESULT, "FlipToGDISurface", []),
-    Method(HRESULT, "GetCaps", [ LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [ LPDDSURFACEDESC2]),
-    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD ]),
-    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE7) ]),
+    Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
+    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC2]),
+    Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
+    Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE7)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
     Method(HRESULT, "GetScanLine", [LPDWORD]),
-    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL ]),
-    Method(HRESULT, "Initialize", [Pointer(GUID) ]),
+    Method(HRESULT, "GetVerticalBlankStatus", [LPBOOL]),
+    Method(HRESULT, "Initialize", [Pointer(GUID)]),
     Method(HRESULT, "RestoreDisplayMode", []),
     Method(HRESULT, "SetCooperativeLevel", [HWND, DWORD]),
     Method(HRESULT, "SetDisplayMode", [DWORD, DWORD,DWORD, DWORD, DWORD]),
-    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE ]),
+    Method(HRESULT, "WaitForVerticalBlank", [DWORD, HANDLE]),
     Method(HRESULT, "GetAvailableVidMem", [LPDDSCAPS2, LPDWORD, LPDWORD]),
     Method(HRESULT, "GetSurfaceFromDC", [HDC, Pointer(LPDIRECTDRAWSURFACE7)]),
     Method(HRESULT, "RestoreAllSurfaces", []),
     Method(HRESULT, "TestCooperativeLevel", []),
-    Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER2, DWORD ]),
-    Method(HRESULT, "StartModeTest", [LPSIZE, DWORD, DWORD ]),
-    Method(HRESULT, "EvaluateMode", [DWORD, Pointer(DWORD) ]),
+    Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER2, DWORD]),
+    Method(HRESULT, "StartModeTest", [LPSIZE, DWORD, DWORD]),
+    Method(HRESULT, "EvaluateMode", [DWORD, Pointer(DWORD)]),
 ]
 
 IDirectDrawPalette.methods += [
@@ -1360,11 +1361,11 @@ IDirectDrawPalette.methods += [
 
 IDirectDrawClipper.methods += [
     Method(HRESULT, "GetClipList", [LPRECT, LPRGNDATA, LPDWORD]),
-    Method(HRESULT, "GetHWnd", [Pointer(HWND) ]),
+    Method(HRESULT, "GetHWnd", [Pointer(HWND)]),
     Method(HRESULT, "Initialize", [LPDIRECTDRAW, DWORD]),
-    Method(HRESULT, "IsClipListChanged", [Pointer(BOOL) ]),
+    Method(HRESULT, "IsClipListChanged", [Pointer(BOOL)]),
     Method(HRESULT, "SetClipList", [LPRGNDATA,DWORD]),
-    Method(HRESULT, "SetHWnd", [DWORD, HWND ]),
+    Method(HRESULT, "SetHWnd", [DWORD, HWND]),
 ]
 
 
@@ -1372,21 +1373,21 @@ IDirectDrawSurface.methods += [
     Method(HRESULT, "AddAttachedSurface", [LPDIRECTDRAWSURFACE]),
     Method(HRESULT, "AddOverlayDirtyRect", [LPRECT]),
     Method(HRESULT, "Blt", [LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX]),
-    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD ]),
+    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD]),
     Method(HRESULT, "BltFast", [DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD]),
     Method(HRESULT, "DeleteAttachedSurface", [DWORD,LPDIRECTDRAWSURFACE]),
     Method(HRESULT, "EnumAttachedSurfaces", [LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "EnumOverlayZOrders", [DWORD,LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "Flip", [LPDIRECTDRAWSURFACE, DWORD]),
-    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS, Pointer(LPDIRECTDRAWSURFACE) ]),
+    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS, Pointer(LPDIRECTDRAWSURFACE)]),
     Method(HRESULT, "GetBltStatus", [DWORD]),
     Method(HRESULT, "GetCaps", [LPDDSCAPS]),
-    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER) ]),
+    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER)]),
     Method(HRESULT, "GetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "GetDC", [Pointer(HDC) ]),
+    Method(HRESULT, "GetDC", [Pointer(HDC)]),
     Method(HRESULT, "GetFlipStatus", [DWORD]),
-    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG ]),
-    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE) ]),
+    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG]),
+    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE)]),
     Method(HRESULT, "GetPixelFormat", [LPDDPIXELFORMAT]),
     Method(HRESULT, "GetSurfaceDesc", [LPDDSURFACEDESC]),
     Method(HRESULT, "Initialize", [LPDIRECTDRAW, LPDDSURFACEDESC]),
@@ -1396,7 +1397,7 @@ IDirectDrawSurface.methods += [
     Method(HRESULT, "Restore", []),
     Method(HRESULT, "SetClipper", [LPDIRECTDRAWCLIPPER]),
     Method(HRESULT, "SetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "SetOverlayPosition", [LONG, LONG ]),
+    Method(HRESULT, "SetOverlayPosition", [LONG, LONG]),
     Method(HRESULT, "SetPalette", [LPDIRECTDRAWPALETTE]),
     Method(HRESULT, "Unlock", [LPVOID]),
     Method(HRESULT, "UpdateOverlay", [LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX]),
@@ -1408,21 +1409,21 @@ IDirectDrawSurface2.methods += [
     Method(HRESULT, "AddAttachedSurface", [LPDIRECTDRAWSURFACE2]),
     Method(HRESULT, "AddOverlayDirtyRect", [LPRECT]),
     Method(HRESULT, "Blt", [LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX]),
-    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD ]),
+    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD]),
     Method(HRESULT, "BltFast", [DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD]),
     Method(HRESULT, "DeleteAttachedSurface", [DWORD,LPDIRECTDRAWSURFACE2]),
     Method(HRESULT, "EnumAttachedSurfaces", [LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "EnumOverlayZOrders", [DWORD,LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "Flip", [LPDIRECTDRAWSURFACE2, DWORD]),
-    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS, Pointer(LPDIRECTDRAWSURFACE2) ]),
+    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS, Pointer(LPDIRECTDRAWSURFACE2)]),
     Method(HRESULT, "GetBltStatus", [DWORD]),
     Method(HRESULT, "GetCaps", [LPDDSCAPS]),
-    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER) ]),
+    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER)]),
     Method(HRESULT, "GetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "GetDC", [Pointer(HDC) ]),
+    Method(HRESULT, "GetDC", [Pointer(HDC)]),
     Method(HRESULT, "GetFlipStatus", [DWORD]),
-    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG ]),
-    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE) ]),
+    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG]),
+    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE)]),
     Method(HRESULT, "GetPixelFormat", [LPDDPIXELFORMAT]),
     Method(HRESULT, "GetSurfaceDesc", [LPDDSURFACEDESC]),
     Method(HRESULT, "Initialize", [LPDIRECTDRAW, LPDDSURFACEDESC]),
@@ -1432,13 +1433,13 @@ IDirectDrawSurface2.methods += [
     Method(HRESULT, "Restore", []),
     Method(HRESULT, "SetClipper", [LPDIRECTDRAWCLIPPER]),
     Method(HRESULT, "SetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "SetOverlayPosition", [LONG, LONG ]),
+    Method(HRESULT, "SetOverlayPosition", [LONG, LONG]),
     Method(HRESULT, "SetPalette", [LPDIRECTDRAWPALETTE]),
     Method(HRESULT, "Unlock", [LPVOID]),
     Method(HRESULT, "UpdateOverlay", [LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX]),
     Method(HRESULT, "UpdateOverlayDisplay", [DWORD]),
     Method(HRESULT, "UpdateOverlayZOrder", [DWORD, LPDIRECTDRAWSURFACE2]),
-    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID) ]),
+    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID)]),
     Method(HRESULT, "PageLock", [DWORD]),
     Method(HRESULT, "PageUnlock", [DWORD]),
 ]
@@ -1447,21 +1448,21 @@ IDirectDrawSurface3.methods += [
     Method(HRESULT, "AddAttachedSurface", [LPDIRECTDRAWSURFACE3]),
     Method(HRESULT, "AddOverlayDirtyRect", [LPRECT]),
     Method(HRESULT, "Blt", [LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX]),
-    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD ]),
+    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD]),
     Method(HRESULT, "BltFast", [DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD]),
     Method(HRESULT, "DeleteAttachedSurface", [DWORD,LPDIRECTDRAWSURFACE3]),
     Method(HRESULT, "EnumAttachedSurfaces", [LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "EnumOverlayZOrders", [DWORD,LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "Flip", [LPDIRECTDRAWSURFACE3, DWORD]),
-    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS, Pointer(LPDIRECTDRAWSURFACE3) ]),
+    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS, Pointer(LPDIRECTDRAWSURFACE3)]),
     Method(HRESULT, "GetBltStatus", [DWORD]),
     Method(HRESULT, "GetCaps", [LPDDSCAPS]),
-    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER) ]),
+    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER)]),
     Method(HRESULT, "GetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "GetDC", [Pointer(HDC) ]),
+    Method(HRESULT, "GetDC", [Pointer(HDC)]),
     Method(HRESULT, "GetFlipStatus", [DWORD]),
-    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG ]),
-    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE) ]),
+    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG]),
+    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE)]),
     Method(HRESULT, "GetPixelFormat", [LPDDPIXELFORMAT]),
     Method(HRESULT, "GetSurfaceDesc", [LPDDSURFACEDESC]),
     Method(HRESULT, "Initialize", [LPDIRECTDRAW, LPDDSURFACEDESC]),
@@ -1471,13 +1472,13 @@ IDirectDrawSurface3.methods += [
     Method(HRESULT, "Restore", []),
     Method(HRESULT, "SetClipper", [LPDIRECTDRAWCLIPPER]),
     Method(HRESULT, "SetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "SetOverlayPosition", [LONG, LONG ]),
+    Method(HRESULT, "SetOverlayPosition", [LONG, LONG]),
     Method(HRESULT, "SetPalette", [LPDIRECTDRAWPALETTE]),
     Method(HRESULT, "Unlock", [LPVOID]),
     Method(HRESULT, "UpdateOverlay", [LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX]),
     Method(HRESULT, "UpdateOverlayDisplay", [DWORD]),
     Method(HRESULT, "UpdateOverlayZOrder", [DWORD, LPDIRECTDRAWSURFACE3]),
-    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID) ]),
+    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID)]),
     Method(HRESULT, "PageLock", [DWORD]),
     Method(HRESULT, "PageUnlock", [DWORD]),
     Method(HRESULT, "SetSurfaceDesc", [LPDDSURFACEDESC, DWORD]),
@@ -1487,21 +1488,21 @@ IDirectDrawSurface4.methods += [
     Method(HRESULT, "AddAttachedSurface", [LPDIRECTDRAWSURFACE4]),
     Method(HRESULT, "AddOverlayDirtyRect", [LPRECT]),
     Method(HRESULT, "Blt", [LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX]),
-    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD ]),
+    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD]),
     Method(HRESULT, "BltFast", [DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD]),
     Method(HRESULT, "DeleteAttachedSurface", [DWORD,LPDIRECTDRAWSURFACE4]),
     Method(HRESULT, "EnumAttachedSurfaces", [LPVOID,LPDDENUMSURFACESCALLBACK2]),
     Method(HRESULT, "EnumOverlayZOrders", [DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2]),
     Method(HRESULT, "Flip", [LPDIRECTDRAWSURFACE4, DWORD]),
-    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS2, Pointer(LPDIRECTDRAWSURFACE4) ]),
+    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS2, Pointer(LPDIRECTDRAWSURFACE4)]),
     Method(HRESULT, "GetBltStatus", [DWORD]),
     Method(HRESULT, "GetCaps", [LPDDSCAPS2]),
-    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER) ]),
+    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER)]),
     Method(HRESULT, "GetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "GetDC", [Pointer(HDC) ]),
+    Method(HRESULT, "GetDC", [Pointer(HDC)]),
     Method(HRESULT, "GetFlipStatus", [DWORD]),
-    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG ]),
-    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE) ]),
+    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG]),
+    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE)]),
     Method(HRESULT, "GetPixelFormat", [LPDDPIXELFORMAT]),
     Method(HRESULT, "GetSurfaceDesc", [LPDDSURFACEDESC2]),
     Method(HRESULT, "Initialize", [LPDIRECTDRAW, LPDDSURFACEDESC2]),
@@ -1511,13 +1512,13 @@ IDirectDrawSurface4.methods += [
     Method(HRESULT, "Restore", []),
     Method(HRESULT, "SetClipper", [LPDIRECTDRAWCLIPPER]),
     Method(HRESULT, "SetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "SetOverlayPosition", [LONG, LONG ]),
+    Method(HRESULT, "SetOverlayPosition", [LONG, LONG]),
     Method(HRESULT, "SetPalette", [LPDIRECTDRAWPALETTE]),
     Method(HRESULT, "Unlock", [LPRECT]),
     Method(HRESULT, "UpdateOverlay", [LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX]),
     Method(HRESULT, "UpdateOverlayDisplay", [DWORD]),
     Method(HRESULT, "UpdateOverlayZOrder", [DWORD, LPDIRECTDRAWSURFACE4]),
-    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID) ]),
+    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID)]),
     Method(HRESULT, "PageLock", [DWORD]),
     Method(HRESULT, "PageUnlock", [DWORD]),
     Method(HRESULT, "SetSurfaceDesc", [LPDDSURFACEDESC2, DWORD]),
@@ -1532,21 +1533,21 @@ IDirectDrawSurface7.methods += [
     Method(HRESULT, "AddAttachedSurface", [LPDIRECTDRAWSURFACE7]),
     Method(HRESULT, "AddOverlayDirtyRect", [LPRECT]),
     Method(HRESULT, "Blt", [LPRECT,LPDIRECTDRAWSURFACE7, LPRECT,DWORD, LPDDBLTFX]),
-    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD ]),
+    Method(HRESULT, "BltBatch", [LPDDBLTBATCH, DWORD, DWORD]),
     Method(HRESULT, "BltFast", [DWORD,DWORD,LPDIRECTDRAWSURFACE7, LPRECT,DWORD]),
     Method(HRESULT, "DeleteAttachedSurface", [DWORD,LPDIRECTDRAWSURFACE7]),
     Method(HRESULT, "EnumAttachedSurfaces", [LPVOID,LPDDENUMSURFACESCALLBACK7]),
     Method(HRESULT, "EnumOverlayZOrders", [DWORD,LPVOID,LPDDENUMSURFACESCALLBACK7]),
     Method(HRESULT, "Flip", [LPDIRECTDRAWSURFACE7, DWORD]),
-    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS2, Pointer(LPDIRECTDRAWSURFACE7) ]),
+    Method(HRESULT, "GetAttachedSurface", [LPDDSCAPS2, Pointer(LPDIRECTDRAWSURFACE7)]),
     Method(HRESULT, "GetBltStatus", [DWORD]),
     Method(HRESULT, "GetCaps", [LPDDSCAPS2]),
-    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER) ]),
+    Method(HRESULT, "GetClipper", [Pointer(LPDIRECTDRAWCLIPPER)]),
     Method(HRESULT, "GetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "GetDC", [Pointer(HDC) ]),
+    Method(HRESULT, "GetDC", [Pointer(HDC)]),
     Method(HRESULT, "GetFlipStatus", [DWORD]),
-    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG ]),
-    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE) ]),
+    Method(HRESULT, "GetOverlayPosition", [LPLONG, LPLONG]),
+    Method(HRESULT, "GetPalette", [Pointer(LPDIRECTDRAWPALETTE)]),
     Method(HRESULT, "GetPixelFormat", [LPDDPIXELFORMAT]),
     Method(HRESULT, "GetSurfaceDesc", [LPDDSURFACEDESC2]),
     Method(HRESULT, "Initialize", [LPDIRECTDRAW, LPDDSURFACEDESC2]),
@@ -1556,13 +1557,13 @@ IDirectDrawSurface7.methods += [
     Method(HRESULT, "Restore", []),
     Method(HRESULT, "SetClipper", [LPDIRECTDRAWCLIPPER]),
     Method(HRESULT, "SetColorKey", [DWORD, LPDDCOLORKEY]),
-    Method(HRESULT, "SetOverlayPosition", [LONG, LONG ]),
+    Method(HRESULT, "SetOverlayPosition", [LONG, LONG]),
     Method(HRESULT, "SetPalette", [LPDIRECTDRAWPALETTE]),
     Method(HRESULT, "Unlock", [LPRECT]),
     Method(HRESULT, "UpdateOverlay", [LPRECT, LPDIRECTDRAWSURFACE7,LPRECT,DWORD, LPDDOVERLAYFX]),
     Method(HRESULT, "UpdateOverlayDisplay", [DWORD]),
     Method(HRESULT, "UpdateOverlayZOrder", [DWORD, LPDIRECTDRAWSURFACE7]),
-    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID) ]),
+    Method(HRESULT, "GetDDInterface", [Pointer(LPVOID)]),
     Method(HRESULT, "PageLock", [DWORD]),
     Method(HRESULT, "PageUnlock", [DWORD]),
     Method(HRESULT, "SetSurfaceDesc", [LPDDSURFACEDESC2, DWORD]),
@@ -1603,8 +1604,8 @@ DDCREATE = Flags(DWORD, [
     "DDCREATE_EMULATIONONLY",
 ])
 
-ddraw = Dll("ddraw")
-ddraw.functions += [
+ddraw = API("ddraw")
+ddraw.add_functions([
     StdFunction(HRESULT, "DirectDrawEnumerateW", [(LPDDENUMCALLBACKW, "lpCallback"), (LPVOID, "lpContext")]),
     StdFunction(HRESULT, "DirectDrawEnumerateA", [(LPDDENUMCALLBACKA, "lpCallback"), (LPVOID, "lpContext")]),
     StdFunction(HRESULT, "DirectDrawEnumerateExW", [(LPDDENUMCALLBACKEXW, "lpCallback"), (LPVOID, "lpContext"), (DDENUM, "dwFlags")]),
@@ -1612,13 +1613,10 @@ ddraw.functions += [
     StdFunction(HRESULT, "DirectDrawCreate", [(Pointer(GUID), "lpGUID"), Out(Pointer(LPDIRECTDRAW), "lplpDD"), (Pointer(IUnknown), "pUnkOuter")]),
     StdFunction(HRESULT, "DirectDrawCreateEx", [(Pointer(GUID), "lpGuid"), Out(Pointer(LPVOID), "lplpDD"), (REFIID, "iid"), (Pointer(IUnknown), "pUnkOuter")]),
     StdFunction(HRESULT, "DirectDrawCreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]),
-]
+    StdFunction(Void, "AcquireDDThreadLock", []),
+    StdFunction(Void, "ReleaseDDThreadLock", []),
+    StdFunction(DWORD, "D3DParseUnknownCommand", [(LPVOID, "lpCmd"), Out(Pointer(LPVOID), "lpRetCmd")]),
+    StdFunction(HRESULT, "DllCanUnloadNow", []),
+    StdFunction(HRESULT, "DllGetClassObject", [(REFCLSID, "rclsid"), (REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppv")]),
+])
 
-if __name__ == '__main__':
-    print '#include <windows.h>'
-    print '#include <tchar.h>'
-    print '#include <ddraw.h>'
-    print
-    print '#include "log.hpp"'
-    print
-    wrap()