System.Security.PermissionSetTriple.CheckSetDemand C# (CSharp) Method

CheckSetDemand() private method

private CheckSetDemand ( PermissionSet demandSet, PermissionSet &alteredDemandset, RuntimeMethodHandle rmh ) : bool
demandSet PermissionSet
alteredDemandset PermissionSet
rmh RuntimeMethodHandle
return bool
        internal bool CheckSetDemand(PermissionSet demandSet , out PermissionSet alteredDemandset, RuntimeMethodHandle rmh)
        {
            alteredDemandset = null;
            
            if (CheckAssert(AssertSet, demandSet, out alteredDemandset) == SecurityRuntime.StackHalt)
                return SecurityRuntime.StackHalt;
            if (alteredDemandset != null)
                demandSet = alteredDemandset; // note that this does not modify demandSet external to this function.
            CodeAccessSecurityEngine.CheckSetHelper(GrantSet, RefusedSet, demandSet, rmh, null, SecurityAction.Demand, true);

            return SecurityRuntime.StackContinue;

        }
        

Usage Example

Beispiel #1
0
        internal bool CheckSetDemand(PermissionSet pset, RuntimeMethodHandle rmh)
        {
            bool          bRet      = SecurityRuntime.StackContinue;
            PermissionSet demandSet = pset;
            PermissionSet alteredDemandSet;

            if (m_permSetTriples != null)
            {
                for (int i = 0; (i < m_permSetTriples.Count && bRet != SecurityRuntime.StackHalt); i++)
                {
                    PermissionSetTriple psTriple = (PermissionSetTriple)m_permSetTriples[i];
                    bRet = psTriple.CheckSetDemand(demandSet, out alteredDemandSet, rmh);
                    if (alteredDemandSet != null)
                    {
                        demandSet = alteredDemandSet;
                    }
                }
            }
            else if (m_firstPermSetTriple != null)
            {
                bRet = m_firstPermSetTriple.CheckSetDemand(demandSet, out alteredDemandSet, rmh);
            }

            return(SecurityRuntime.StackHalt); //  CS demand check always terminates the stackwalk
        }
All Usage Examples Of System.Security.PermissionSetTriple::CheckSetDemand