pub unsafe fn DSEditSecurity<P0, P1, P2, P3, P4>(
    hwndowner: P0,
    pwszobjectpath: P1,
    pwszobjectclass: P2,
    dwflags: u32,
    pwszcaption: P3,
    pfnreadsd: PFNREADOBJECTSECURITY,
    pfnwritesd: PFNWRITEOBJECTSECURITY,
    lpcontext: P4
) -> Result<()>
where P0: IntoParam<HWND>, P1: IntoParam<PCWSTR>, P2: IntoParam<PCWSTR>, P3: IntoParam<PCWSTR>, P4: IntoParam<LPARAM>,