System.Security.CodeAccessSecurityEngine.Deny C# (CSharp) Method

Deny() static private method

static private Deny ( CodeAccessPermission cap, System.Threading.StackCrawlMark &stackMark ) : void
cap CodeAccessPermission
stackMark System.Threading.StackCrawlMark
return void
        internal static void Deny(CodeAccessPermission cap, ref StackCrawlMark stackMark)
        {
            FrameSecurityDescriptor secObj =
                SecurityRuntime.GetSecurityObjectForFrame(ref stackMark, true);
            if (secObj == null)
            {
                if (SecurityManager._IsSecurityOn())
                    // Security: REQ_SQ flag is missing. Bad compiler ?
                    // This can happen when you create delegates over functions that need the REQ_SQ 
                    throw new ExecutionEngineException( Environment.GetResourceString( "ExecutionEngine_MissingSecurityDescriptor" ) );
            }
            else
            {
                if (secObj.HasImperativeDenials())
                    throw new SecurityException( Environment.GetResourceString( "Security_MustRevertOverride" ) );

                secObj.SetDeny(cap);
        }
        }
        

Usage Example

Example #1
0
        public void Deny()
        {
            CodeAccessSecurityEngine icase = SecurityManager.GetCodeAccessSecurityEngine();

            if (icase != null)
            {
                StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;
                icase.Deny(this, ref stackMark);
            }
        }
All Usage Examples Of System.Security.CodeAccessSecurityEngine::Deny