pub unsafe fn CreatePrivateObjectSecurityWithMultipleInheritance<P0, P1, P2, P3>(
    parentdescriptor: P0,
    creatordescriptor: P1,
    newdescriptor: *mut PSECURITY_DESCRIPTOR,
    objecttypes: Option<&[*const GUID]>,
    iscontainerobject: P2,
    autoinheritflags: SECURITY_AUTO_INHERIT_FLAGS,
    token: P3,
    genericmapping: *const GENERIC_MAPPING,
) -> Result<()>
where P0: Param<PSECURITY_DESCRIPTOR>, P1: Param<PSECURITY_DESCRIPTOR>, P2: Param<BOOL>, P3: Param<HANDLE>,