pub unsafe fn ICDrawBegin<P0, P1, P2, P3>(
    hic: P0,
    dwflags: u32,
    hpal: P1,
    hwnd: P2,
    hdc: P3,
    xdst: i32,
    ydst: i32,
    dxdst: i32,
    dydst: i32,
    lpbi: *const BITMAPINFOHEADER,
    xsrc: i32,
    ysrc: i32,
    dxsrc: i32,
    dysrc: i32,
    dwrate: u32,
    dwscale: u32
) -> u32
where P0: IntoParam<HIC>, P1: IntoParam<HPALETTE>, P2: IntoParam<HWND>, P3: IntoParam<HDC>,