public int EnumDisplayModes([NativeTypeName("DWORD")] uint param0, [NativeTypeName("LPDDSURFACEDESC2")] DDSURFACEDESC2 *param1, [NativeTypeName("LPVOID")] void *param2, [NativeTypeName("LPDDENUMMODESCALLBACK2")] delegate *unmanaged <DDSURFACEDESC2 *, void *, int> param3)
 public int CreateSurface([NativeTypeName("LPDDSURFACEDESC2")] DDSURFACEDESC2 *param0, [NativeTypeName("LPDIRECTDRAWSURFACE7 *")] IDirectDrawSurface7 **param1, [NativeTypeName("IUnknown *")] IUnknown *param2)
 {
     return(((delegate * unmanaged <IDirectDraw7 *, DDSURFACEDESC2 *, IDirectDrawSurface7 **, IUnknown *, int>)(lpVtbl[6]))((IDirectDraw7 *)Unsafe.AsPointer(ref this), param0, param1, param2));
 }