(DWORD, "dwAlignBoundaryDest"),
(DWORD, "dwAlignSizeDest"),
(DWORD, "dwAlignStrideAlign"),
- (DWORD, "dwRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
(DDSCAPS, "ddsCaps"),
(DWORD, "dwMinOverlayStretch"),
(DWORD, "dwMaxOverlayStretch"),
(DWORD, "dwAlignBoundaryDest"),
(DWORD, "dwAlignSizeDest"),
(DWORD, "dwAlignStrideAlign"),
- (DWORD, "dwRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
(DDSCAPS, "ddsCaps"),
(DWORD, "dwMinOverlayStretch"),
(DWORD, "dwMaxOverlayStretch"),
(DWORD, "dwSVBCaps"),
(DWORD, "dwSVBCKeyCaps"),
(DWORD, "dwSVBFXCaps"),
- (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
(DWORD, "dwVSBCaps"),
(DWORD, "dwVSBCKeyCaps"),
(DWORD, "dwVSBFXCaps"),
- (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
(DWORD, "dwSSBCaps"),
(DWORD, "dwSSBCKeyCaps"),
(DWORD, "dwSSBFXCaps"),
- (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
(DWORD, "dwReserved4"),
(DWORD, "dwReserved5"),
(DWORD, "dwReserved6"),
(DWORD, "dwAlignBoundaryDest"),
(DWORD, "dwAlignSizeDest"),
(DWORD, "dwAlignStrideAlign"),
- (DWORD, "dwRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
(DDSCAPS, "ddsCaps"),
(DWORD, "dwMinOverlayStretch"),
(DWORD, "dwMaxOverlayStretch"),
(DWORD, "dwSVBCaps"),
(DWORD, "dwSVBCKeyCaps"),
(DWORD, "dwSVBFXCaps"),
- (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
(DWORD, "dwVSBCaps"),
(DWORD, "dwVSBCKeyCaps"),
(DWORD, "dwVSBFXCaps"),
- (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
(DWORD, "dwSSBCaps"),
(DWORD, "dwSSBCKeyCaps"),
(DWORD, "dwSSBFXCaps"),
- (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
(DWORD, "dwMaxVideoPorts"),
(DWORD, "dwCurrVideoPorts"),
(DWORD, "dwSVBCaps2"),
(DWORD, "dwNLVBCaps2"),
(DWORD, "dwNLVBCKeyCaps"),
(DWORD, "dwNLVBFXCaps"),
- (DWORD, "dwNLVBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"),
])
LPDDCAPS_DX5 = Pointer(DDCAPS_DX5)
(DWORD, "dwAlignBoundaryDest"),
(DWORD, "dwAlignSizeDest"),
(DWORD, "dwAlignStrideAlign"),
- (DWORD, "dwRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
(DDSCAPS, "ddsOldCaps"),
(DWORD, "dwMinOverlayStretch"),
(DWORD, "dwMaxOverlayStretch"),
(DWORD, "dwSVBCaps"),
(DWORD, "dwSVBCKeyCaps"),
(DWORD, "dwSVBFXCaps"),
- (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
(DWORD, "dwVSBCaps"),
(DWORD, "dwVSBCKeyCaps"),
(DWORD, "dwVSBFXCaps"),
- (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
(DWORD, "dwSSBCaps"),
(DWORD, "dwSSBCKeyCaps"),
(DWORD, "dwSSBFXCaps"),
- (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
(DWORD, "dwMaxVideoPorts"),
(DWORD, "dwCurrVideoPorts"),
(DWORD, "dwSVBCaps2"),
(DWORD, "dwNLVBCaps2"),
(DWORD, "dwNLVBCKeyCaps"),
(DWORD, "dwNLVBFXCaps"),
- (DWORD, "dwNLVBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"),
(DDSCAPS2, "ddsCaps"),
])
LPDDCAPS_DX6 = Pointer(DDCAPS_DX6)
(DWORD, "dwAlignBoundaryDest"),
(DWORD, "dwAlignSizeDest"),
(DWORD, "dwAlignStrideAlign"),
- (DWORD, "dwRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
(DDSCAPS, "ddsOldCaps"),
(DWORD, "dwMinOverlayStretch"),
(DWORD, "dwMaxOverlayStretch"),
(DWORD, "dwSVBCaps"),
(DWORD, "dwSVBCKeyCaps"),
(DWORD, "dwSVBFXCaps"),
- (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
(DWORD, "dwVSBCaps"),
(DWORD, "dwVSBCKeyCaps"),
(DWORD, "dwVSBFXCaps"),
- (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
(DWORD, "dwSSBCaps"),
(DWORD, "dwSSBCKeyCaps"),
(DWORD, "dwSSBFXCaps"),
- (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
(DWORD, "dwMaxVideoPorts"),
(DWORD, "dwCurrVideoPorts"),
(DWORD, "dwSVBCaps2"),
(DWORD, "dwNLVBCaps2"),
(DWORD, "dwNLVBCKeyCaps"),
(DWORD, "dwNLVBFXCaps"),
- (DWORD, "dwNLVBRops[DD_ROP_SPACE]"),
+ (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"),
(DDSCAPS2, "ddsCaps"),
])
LPDDCAPS_DX7 = Pointer(DDCAPS_DX7)
LPDDBLTBATCH = Pointer(DDBLTBATCH)
DDGAMMARAMP = Struct("DDGAMMARAMP", [
- (WORD, "red[256]"),
- (WORD, "green[256]"),
- (WORD, "blue[256]"),
+ (Array(WORD, "256"), "red"),
+ (Array(WORD, "256"), "green"),
+ (Array(WORD, "256"), "blue"),
])
LPDDGAMMARAMP = Pointer(DDGAMMARAMP)
LPDDDEVICEIDENTIFIER = Pointer(DDDEVICEIDENTIFIER)
DDDEVICEIDENTIFIER2 = Struct("DDDEVICEIDENTIFIER2", [
- (CString, "szDriver[MAX_DDDEVICEID_STRING]"),
- (CString, "szDescription[MAX_DDDEVICEID_STRING]"),
+ (CString, "szDriver"),
+ (CString, "szDescription"),
(LARGE_INTEGER, "liDriverVersion"),
(DWORD, "dwVendorId"),
(DWORD, "dwDeviceId"),
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, "CreateSurface", [LPDDSURFACEDESC, Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), 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, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]),
Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE)]),
Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
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, "CreateSurface", [LPDDSURFACEDESC, Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), 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, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]),
Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE)]),
Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
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, "CreateSurface", [LPDDSURFACEDESC2, Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDSurface"), 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, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]),
Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE4)]),
Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
Method(HRESULT, "GetSurfaceFromDC", [HDC, Pointer(LPDIRECTDRAWSURFACE4)]),
Method(HRESULT, "RestoreAllSurfaces", []),
Method(HRESULT, "TestCooperativeLevel", []),
- Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER, DWORD]),
+ Method(HRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER, "lpDDDeviceIdentifier"), DWORD]),
]
IDirectDraw7.methods += [
Method(HRESULT, "Compact", []),
- Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown)]),
+ Method(HRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]),
Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
- Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Pointer(LPDIRECTDRAWSURFACE7) , Pointer(IUnknown)]),
+ Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDDSurface") , 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, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]),
Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE7)]),
Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
Method(HRESULT, "GetSurfaceFromDC", [HDC, Pointer(LPDIRECTDRAWSURFACE7)]),
Method(HRESULT, "RestoreAllSurfaces", []),
Method(HRESULT, "TestCooperativeLevel", []),
- Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER2, DWORD]),
+ Method(HRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER2, "lpDDDeviceIdentifier"), DWORD]),
Method(HRESULT, "StartModeTest", [LPSIZE, DWORD, DWORD]),
Method(HRESULT, "EvaluateMode", [DWORD, Pointer(DWORD)]),
]
StdFunction(DWORD, "D3DParseUnknownCommand", [(LPVOID, "lpCmd"), Out(Pointer(LPVOID), "lpRetCmd")]),
StdFunction(HRESULT, "DllCanUnloadNow", []),
StdFunction(HRESULT, "DllGetClassObject", [(REFCLSID, "rclsid"), (REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppv")]),
+
+ # XXX
+ StdFunction(HRESULT, "CompleteCreateSysmemSurface", [Int, Int]),
+ StdFunction(HRESULT, "GetSurfaceFromDC", [Int, Int, Int]),
+ StdFunction(HRESULT, "DDInternalLock", [Int, Int]),
+ StdFunction(HRESULT, "DDInternalUnlock", [Int]),
+ StdFunction(HRESULT, "DSoundHelp", [HWND, Int, Int]),
+ StdFunction(HRESULT, "GetDDSurfaceLocal", [Int, Int, Int]),
+ StdFunction(HANDLE, "GetOLEThunkData", [Int]),
+ StdFunction(HRESULT, "RegisterSpecialCase", [Int, Int, Int, Int]),
+ StdFunction(HRESULT, "DDGetAttachedSurfaceLcl", [Int, Int, Int]),
+
+ # TODO: SetAppCompatData
])