CALLCONV CALLCONV CALLCONV CALLCONV Enum

Definizione

Identifica la convenzione di chiamata usata da un metodo descritto in una struttura METHODDATA.Identifies the calling convention used by a method described in a METHODDATA structure.

public enum class CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV = 
Public Enum CALLCONV
Ereditarietà
Attributi

Campi

CC_CDECL CC_CDECL CC_CDECL CC_CDECL 1

Indica che per un metodo viene usata la convenzione di chiamata CDECL (C Declaration).Indicates that the C declaration (CDECL) calling convention is used for a method.

CC_MACPASCAL CC_MACPASCAL CC_MACPASCAL CC_MACPASCAL 3

Indica che per un metodo viene usata la convenzione di chiamata MACPASCAL (Macintosh Pascal).Indicates that the Macintosh Pascal (MACPASCAL) calling convention is used for a method.

CC_MAX CC_MAX CC_MAX CC_MAX 9

Indica la fine dell'enumerazione CALLCONV .Indicates the end of the CALLCONV enumeration.

CC_MPWCDECL CC_MPWCDECL CC_MPWCDECL CC_MPWCDECL 7

Indica che per un metodo viene usata la convenzione di chiamata CDECL MPW (Macintosh Programmers' Workbench).Indicates that the Macintosh Programmers' Workbench (MPW) CDECL calling convention is used for a method.

CC_MPWPASCAL CC_MPWPASCAL CC_MPWPASCAL CC_MPWPASCAL 8

Indica che per un metodo viene usata la convenzione di chiamata PASCAL MPW (Macintosh Programmers' Workbench).Indicates that the Macintosh Programmers' Workbench (MPW) PASCAL calling convention is used for a method.

CC_MSCPASCAL CC_MSCPASCAL CC_MSCPASCAL CC_MSCPASCAL 2

Indica che per un metodo viene usata la convenzione di chiamata MSCPASCAL (MSC Pascal).Indicates that the MSC Pascal (MSCPASCAL) calling convention is used for a method.

CC_PASCAL CC_PASCAL CC_PASCAL CC_PASCAL 2

Indica che per un metodo viene usata la convenzione di chiamata Pascal.Indicates that the Pascal calling convention is used for a method.

CC_RESERVED CC_RESERVED CC_RESERVED CC_RESERVED 5

Questo valore è riservato per l'uso futuro.This value is reserved for future use.

CC_STDCALL CC_STDCALL CC_STDCALL CC_STDCALL 4

Indica che per un metodo viene usata la convenzione di chiamata standard (STDCALL).Indicates that the standard calling convention (STDCALL) is used for a method.

CC_SYSCALL CC_SYSCALL CC_SYSCALL CC_SYSCALL 6

Indica che per un metodo viene usata la convenzione di chiamata SYSCALL standard.Indicates that the standard SYSCALL calling convention is used for a method.

Commenti

Le convenzioni di chiamata in questa classe descrivono il modo in cui le funzioni passano argomenti e valori restituiti.The calling conventions in this class describe how functions pass arguments and return values. Specificano l'ordine in cui i parametri vengono configurati per le funzioni chiamate, dove i parametri vengono archiviati (in registri o in memoria) e chi (chiamante o funzione chiamata) è responsabile della pulizia dello stack dopo la restituzione della funzione.They specify the order in which parameters are set up for the called functions, where the parameters are stored (in registers or in memory), and who (caller or called function) is responsible for cleaning up the stack after the function returns. Ad esempio:For example:

  • CC_CDECL utilizza le convenzioni di denominazione e di chiamata del linguaggio C.CC_CDECL uses the naming and calling conventions of the C language. Il chiamante inserisce i parametri nello stack in ordine inverso (da destra a sinistra) e pulisce lo stack dopo la restituzione della funzione.The caller pushes the parameters onto the stack in reverse (right-to-left) order, and cleans the stack after the function returns. Questa convenzione di chiamata consente di chiamare funzioni con varargs, che lo rende appropriato per l'utilizzo con metodi che accettano un numero variabile di parametri, ad esempio le funzioni di runtime del linguaggio C printf, _printf_l, wprintf, _wprintf_l.This calling convention enables you to call functions with varargs, which makes it appropriate for use with methods that accept a variable number of parameters, such as the C run-time functions printf, _printf_l, wprintf, _wprintf_l.

  • CC_PASCAL utilizza la convenzione di chiamata Pascal.CC_PASCAL uses the Pascal calling convention. Il chiamante inserisce i parametri nello stack in ordine da sinistra a destra.The caller pushes the parameters onto the stack in left-to-right order. La funzione chiamata pulisce lo stack prima della restituzione.The called function cleans the stack before returning.

  • CC_STDCALL è la convenzione di chiamata standard per le funzioni Win32.CC_STDCALL is the standard calling convention for Win32 functions. Si tratta della convenzione predefinita per la chiamata di funzioni non gestite con platform invoke.It is the default convention for calling unmanaged functions with platform invoke. Il chiamante inserisce i parametri nello stack in ordine inverso (da destra a sinistra) e la funzione chiamata pulisce lo stack prima della restituzione.The caller pushes the parameters onto the stack in reverse (right to left) order, and the called function cleans the stack before returning.

  • CC_SYSCALL è simile a CDECL in quanto gli argomenti vengono inseriti da destra a sinistra.CC_SYSCALL is similar to CDECL in that arguments are pushed from right to left. I registri EAX, ECX e EDX non vengono conservati.The EAX, ECX, and EDX registers are not preserved.

Questi identificatori della convenzione di chiamata vengono usati .NET Framework.NET Frameworkda Windows Embedded CEWindows Embedded CE , dalla piattaforma e dall'automazione.These calling convention identifiers are used by the .NET Framework.NET Framework, the Windows Embedded CEWindows Embedded CE platform, and by Automation.

Il Common Language Runtime genera un'eccezione quando un metodo COM nel codice nativo restituisce un valore HRESULT.The common language runtime throws an exception when a COM method in native code returns an HRESULT. Per altre informazioni, vedere How to: Map HRESULTs and Exceptions.For more information, see How to: Map HRESULTs and Exceptions.

Si applica a

Vedi anche