static private CheckAssert ( |
||
assertPset | ||
demandSet | ||
newDemandSet | ||
return | bool |
static bool CheckAssert(PermissionSet assertPset, PermissionSet demandSet, out PermissionSet newDemandSet)
{
newDemandSet = null;
if (assertPset!= null)
{
assertPset.CheckDecoded(demandSet);
// If this frame asserts a superset of the demand set we're done
if (demandSet.CheckAssertion(assertPset))
return SecurityRuntime.StackHalt;
PermissionSet.RemoveAssertedPermissionSet(demandSet, assertPset, out newDemandSet);
}
return SecurityRuntime.StackContinue;
}
PermissionSetTriple::CheckAssert ( |
internal bool CheckDemand(CodeAccessPermission demand, PermissionToken permToken, RuntimeMethodHandleInternal rmh) { if (!PermissionSetTriple.CheckAssert(this.AssertSet, demand, permToken)) { return(false); } CodeAccessSecurityEngine.CheckHelper(this.GrantSet, this.RefusedSet, demand, permToken, rmh, (object)null, SecurityAction.Demand, true); return(true); }