CALLCONV Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Identifica la convención de llamada usada por un método descrito en una estructura METHODDATA.
public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV =
[<System.Serializable>]
type CALLCONV =
Public Enum CALLCONV
- Herencia
- Atributos
Campos
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.