CALLCONV Enumeración

Definición

Identifica la convención de llamada usada por un método descrito en una estructura METHODDATA.

C#
public enum CALLCONV
C#
[System.Serializable]
public enum CALLCONV
Herencia
CALLCONV
Atributos

Campos

Nombre Valor Description
CC_CDECL 1

Indica que la convención de llamada de la declaración C (CDECL) se usa para un método.

CC_MACPASCAL 3

Indica que la convención de llamada de Macintosh Pascal (MACPASCAL) se usa para un método.

CC_MAX 9

Indica el final de la enumeración CALLCONV.

CC_MPWCDECL 7

Indica que la convención de llamada CDECL de Macintosh Programmers' Workbench (MPW) se usa para un método.

CC_MPWPASCAL 8

Indica que la convención de llamada PASCAL de Macintosh Programmers' Workbench (MPW) se usa para un método.

CC_MSCPASCAL 2

Indica que la convención de llamada de MSC Pascal (MSCPASCAL) se usa para un método.

CC_PASCAL 2

Indica que la convención de llamada de Pascal se usa para un método.

CC_RESERVED 5

Este valor está reservado para uso futuro.

CC_STDCALL 4

Indica que la convención de llamada estándar (STDCALL) se usa para un método.

CC_SYSCALL 6

Indica que la convención de llamada SYSCALL se usa para un método.

Comentarios

Las convenciones de llamada de esta clase describen cómo las funciones pasan argumentos y valores devueltos. Especifican el orden en el que se configuran los parámetros para las funciones llamadas, donde se almacenan los parámetros (en registros o en memoria) y quién (llamador o función llamada) es responsable de limpiar la pila después de que la función devuelva. Por ejemplo:

  • CC_CDECL usa las convenciones de nomenclatura y llamada del lenguaje C. El autor de la llamada inserta los parámetros en la pila en orden inverso (de derecha a izquierda) y limpia la pila después de que se devuelva la función. Esta convención de llamada permite llamar a funciones con varargs, lo que hace adecuado su uso con métodos que aceptan un número variable de parámetros, como las funciones en tiempo de ejecución de C printf, _printf_l, wprintf, _wprintf_l.

  • CC_PASCAL usa la convención de llamada Pascal. El autor de la llamada inserta los parámetros en la pila en orden de izquierda a derecha. La función llamada limpia la pila antes de devolverla.

  • CC_STDCALL es la convención de llamada estándar para las funciones Win32. Es la convención predeterminada para llamar a funciones no administradas con invocación de plataforma. El autor de la llamada inserta los parámetros en la pila en orden inverso (de derecha a izquierda) y la función llamada limpia la pila antes de volver.

  • CC_SYSCALL es similar a CDECL en que los argumentos se insertan de derecha a izquierda. No se conservan los registros EAX, ECX y EDX.

Estos identificadores de convención de llamada se usan en .NET Framework, en la plataforma ce de Windows Embedded y en Automation.

Common Language Runtime produce una excepción cuando un método COM en código nativo devuelve un HRESULT. Para obtener más información, consulta How to: Map HRESULTs and Exceptions.

Se aplica a

Produto Versións
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Consulte también