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

CheckNReturnSO() private method

private CheckNReturnSO ( PermissionToken permToken, CodeAccessPermission demand, System.Threading.StackCrawlMark &stackMark, int unrestrictedOverride, int create ) : FrameSecurityDescriptor
permToken PermissionToken
demand CodeAccessPermission
stackMark System.Threading.StackCrawlMark
unrestrictedOverride int
create int
return FrameSecurityDescriptor
        internal static extern FrameSecurityDescriptor CheckNReturnSO(PermissionToken permToken, 
                                                                    CodeAccessPermission demand, 
                                                                    ref StackCrawlMark stackMark,
                                                                    int unrestrictedOverride, 
                                                                    int create );

Usage Example

        //
        // API for PermissionSets
        //

        public virtual void Assert(PermissionSet permSet, ref StackCrawlMark stackMark)
        {
            // Note: if the "AssertPermission" is not a permission that implements IUnrestrictedPermission
            // you need to change the fourth parameter to a zero.
            FrameSecurityDescriptor secObj = CodeAccessSecurityEngine.CheckNReturnSO(
                CodeAccessSecurityEngine.AssertPermissionToken,
                CodeAccessSecurityEngine.AssertPermission,
                ref stackMark,
                1,
                1);

            BCLDebug.Assert(secObj != null || !SecurityManager.SecurityEnabled, "Failure in SecurityRuntime.Assert() - secObj != null");
            if (secObj == null)
            {
                if (SecurityManager.SecurityEnabled)
                {
                    // Security: REQ_SQ flag is missing. Bad compiler ?
                    throw new ExecutionEngineException(Environment.GetResourceString("ExecutionEngine_MissingSecurityDescriptor"));
                }
            }
            else
            {
                if (secObj.GetAssertions() != null)
                {
                    throw new SecurityException(Environment.GetResourceString("Security_MustRevertOverride"));
                }

                secObj.SetAssert(permSet);
            }
        }
All Usage Examples Of System.Security.CodeAccessSecurityEngine::CheckNReturnSO