1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
|
<Type Name="CallingConvention" FullName="System.Runtime.InteropServices.CallingConvention" FullNameSP="System_Runtime_InteropServices_CallingConvention" Maintainer="ecma">
<TypeSignature Language="ILASM" Value=".class public sealed serializable CallingConvention extends System.Enum" />
<TypeSignature Language="C#" Value="public enum CallingConvention" />
<MemberOfLibrary>RuntimeInfrastructure</MemberOfLibrary>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Docs>
<summary>
<para>Indicates the calling convention used by a method located in an unmanaged shared library.</para>
</summary>
<remarks>
<para>The values of this enumeration are used to specify the calling conventions required
to call unmanaged methods implemented in shared libraries.</para>
<para>
<block subset="none" type="note">Implementers
should map the semantics of specified calling conventions onto the calling conventions
of the host OS.</block>
</para>
<para>
<block subset="none" type="note">For additional information on shared
libraries and an example of the use of the <see cref="T:System.Runtime.InteropServices.CallingConvention" /> enumeration, see the <see cref="T:System.Runtime.InteropServices.DllImportAttribute" /> class overview.</block>
</para>
</remarks>
</Docs>
<Members>
<Member MemberName="Cdecl">
<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Runtime.InteropServices.CallingConvention Cdecl = 2" />
<MemberSignature Language="C#" Value="Cdecl" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>System.Runtime.InteropServices.CallingConvention</ReturnType>
</ReturnValue>
<Parameters />
<MemberValue>Cdecl</MemberValue>
<Docs>
<summary>
<para>Indicates that the <see langword="cdecl " />
calling convention is appropriate for a method call.</para>
<para>For example, on a Windows platform the <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl" /> convention produces the
following behavior:</para>
<list type="table">
<listheader>
<term>Element</term>
<description>Behavior</description>
</listheader>
<item>
<term> Argument-passing order</term>
<description>Right to left.</description>
</item>
<item>
<term> Stack-maintenance responsibility</term>
<description>Calling function pops the arguments from the
stack.</description>
</item>
</list>
<para>
<block subset="none" type="note">This is the default calling
convention for functions compiled with 32-bit C and C++ language compilers.</block>
</para>
</summary>
<remarks>To be added.</remarks>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="FastCall">
<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Runtime.InteropServices.CallingConvention FastCall = 5" />
<MemberSignature Language="C#" Value="FastCall" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>System.Runtime.InteropServices.CallingConvention</ReturnType>
</ReturnValue>
<Parameters />
<MemberValue>FastCall</MemberValue>
<Docs>
<summary>
<para>Indicates that the <see langword="fastcall " />
calling convention is appropriate for a method
call. </para>
<para>
<block subset="none" type="note">On a Windows platform this convention
indicates that arguments to functions are to be passed in registers whenever
possible.</block>
</para>
</summary>
<remarks>To be added.</remarks>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="StdCall">
<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Runtime.InteropServices.CallingConvention StdCall = 3" />
<MemberSignature Language="C#" Value="StdCall" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>System.Runtime.InteropServices.CallingConvention</ReturnType>
</ReturnValue>
<Parameters />
<MemberValue>StdCall</MemberValue>
<Docs>
<summary>
<para>Indicates that the <see langword="stdcall " />
calling convention is appropriate for a
method.</para>
<para>For example, on a Windows platform the <see cref="F:System.Runtime.InteropServices.CallingConvention.StdCall" /> convention produces the
following behavior:</para>
<list type="table">
<listheader>
<term>Element</term>
<description>Behavior</description>
</listheader>
<item>
<term> Argument-passing order</term>
<description>Right to left.</description>
</item>
<item>
<term> Stack-maintenance responsibility</term>
<description>Called function pops its own arguments from the
stack.</description>
</item>
</list>
</summary>
<remarks>To be added.</remarks>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="ThisCall">
<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Runtime.InteropServices.CallingConvention ThisCall = 4" />
<MemberSignature Language="C#" Value="ThisCall" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>System.Runtime.InteropServices.CallingConvention</ReturnType>
</ReturnValue>
<Parameters />
<MemberValue>ThisCall</MemberValue>
<Docs>
<summary>
<para>Indicates that the <see langword="thiscall" /> calling convention is appropriate for a
method. This convention is similar to the <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl" /> calling convention,
except that the last element that the caller pushes the stack is the
<see langword="this" />
pointer.</para>
<para>For example, on a Windows platform the <see cref="F:System.Runtime.InteropServices.CallingConvention.ThisCall" /> convention
produces the following behavior:</para>
<list type="table">
<listheader>
<term>Element</term>
<description>Behavior</description>
</listheader>
<item>
<term> Argument-passing order</term>
<description>Right to left.</description>
</item>
<item>
<term> Stack-maintenance responsibility</term>
<description>Calling function pops the arguments from the
stack.</description>
</item>
<item>
<term>
<see langword="this" /> pointer</term>
<description>Pushed last onto the stack.</description>
</item>
</list>
<para>
<block subset="none" type="note">The <see langword="thiscall" /> calling convention is the default
calling convention used by C++ member functions that are not called with
a variable number of arguments.</block>
</para>
</summary>
<remarks>To be added.</remarks>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Winapi">
<MemberSignature Language="C#" Value="Winapi" />
<MemberType>Field</MemberType>
<ReturnValue>
<ReturnType>System.Runtime.InteropServices.CallingConvention</ReturnType>
</ReturnValue>
<MemberValue>Winapi</MemberValue>
<Docs>
<summary>To be added.</summary>
<remarks>To be added.</remarks>
</Docs>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
<TypeExcluded>0</TypeExcluded>
<Attributes>
<Attribute>
<AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
</Attribute>
</Attributes>
</Type>
|