pub unsafe fn UpdateLayeredWindow<P0, P1, P2, P3>(
    hwnd: P0,
    hdcdst: P1,
    pptdst: Option<*const POINT>,
    psize: Option<*const SIZE>,
    hdcsrc: P2,
    pptsrc: Option<*const POINT>,
    crkey: P3,
    pblend: Option<*const BLENDFUNCTION>,
    dwflags: UPDATE_LAYERED_WINDOW_FLAGS
) -> Result<()>
where P0: IntoParam<HWND>, P1: IntoParam<HDC>, P2: IntoParam<HDC>, P3: IntoParam<COLORREF>,