public sealed class SuppressUnmanagedCodeSecurityAttribute : Attribute {
// Public Constructors
public SuppressUnmanagedCodeSecurityAttribute( );
}
This attribute allows managed code to call unmanaged (native) code
through PInvoke or COM interop without causing a stack walk to
determine if all callers on the call stack have the
System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode
permission from the
System.Security.Permissions.SecurityPermission
class. It is effective only when applied to PInvoke methods, classes
containing PInvoke methods, or interface definitions through which
COM interop calls are made, and will be ignored in all other
instances.
When applied to frequently called methods that provide access to
unmanaged code,
SuppressUnmanagedCodeSecurityAttribute offers
significant timesavings. However, careless use can easily open
security holes that malicious code can use to access system
resources.