// #pragma warning disable #nullable enable annotations // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.Runtime.InteropServices { /// /// Any method marked with can be directly called from /// native code. The function token can be loaded to a local variable using the address-of operator /// in C# and passed as a callback to a native method. /// /// /// Methods marked with this attribute have the following restrictions: /// * Method must be marked "static". /// * Must not be called from managed code. /// * Must only have blittable arguments. /// [global::System.AttributeUsage(global::System.AttributeTargets.Method, Inherited = false)] [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] [global::System.Diagnostics.Conditional("MULTI_TARGETING_SUPPORT_ATTRIBUTES")] public sealed class UnmanagedCallersOnlyAttribute : global::System.Attribute { public UnmanagedCallersOnlyAttribute() { } /// /// Optional. If omitted, the runtime will use the default platform calling convention. /// /// /// Supplied types must be from the official "System.Runtime.CompilerServices" namespace and /// be of the form "CallConvXXX". /// public global::System.Type[]? CallConvs; /// /// Optional. If omitted, no named export is emitted during compilation. /// public string? EntryPoint; } }