| File: System\Reflection\Metadata\Signatures\SignatureCallingConvention.cs | Web Access |
| Project: src\runtime\src\libraries\System.Reflection.Metadata\src\System.Reflection.Metadata.csproj (System.Reflection.Metadata) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.Reflection.Metadata { /// <summary> /// Specifies how arguments in a given signature are passed from the caller to the callee. /// Underlying values correspond to the representation in the leading signature byte /// represented by <see cref="SignatureHeader"/>. /// </summary> public enum SignatureCallingConvention : byte { /// <summary> /// Managed calling convention with fixed-length argument list. /// </summary> Default = 0x0, /// <summary> /// Unmanaged C/C++-style calling convention where the call stack is cleaned by the caller. /// </summary> CDecl = 0x1, /// <summary> /// Unmanaged calling convention where call stack is cleaned up by the callee. /// </summary> StdCall = 0x2, /// <summary> /// Unmanaged C++-style calling convention for calling instance member functions with a fixed argument list. /// </summary> ThisCall = 0x3, /// <summary> /// Unmanaged calling convention where arguments are passed in registers when possible. /// </summary> FastCall = 0x4, /// <summary> /// Managed calling convention for passing extra arguments. /// </summary> VarArgs = 0x5, /// <summary> /// Indicating the specifics of the unmanaged calling convention are encoded as modopts. /// </summary> Unmanaged = 0x9, } }