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 utilizada 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
| Nombre | Valor | Description |
|---|---|---|
| CC_CDECL | 1 | Indica que la convención de llamada de declaración de C (CDECL) se usa para un método . |
| CC_MSCPASCAL | 2 | Indica que la convención de llamada MSC Pascal (MSCPASCAL) se usa para un método . |
| CC_PASCAL | 2 | Indica que la convención de llamada Pascal se usa para un método . |
| CC_MACPASCAL | 3 | Indica que la convención de llamada Macintosh Pascal (MACPASCAL) se usa para un método . |
| CC_STDCALL | 4 | Indica que la convención de llamada estándar (STDCALL) se usa para un método . |
| CC_RESERVED | 5 | Este valor está reservado para su uso futuro. |
| CC_SYSCALL | 6 | Indica que la convención de llamada SYSCALL estándar se usa para un método . |
| CC_MPWCDECL | 7 | Indica que la convención de llamada CDECL de los programadores de Macintosh (MPW) se usa para un método . |
| CC_MPWPASCAL | 8 | Indica que la convención de llamada PASCAL de los programadores de Macintosh Workbench (MPW) se usa para un método . |
| CC_MAX | 9 | Indica el final de la CALLCONV enumeración. |
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 la función vuelva. Esta convención de llamada permite llamar a funciones con
varargs, lo que hace que sea adecuado para 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 devolverla.
CC_SYSCALL es similar a CDECL en que los argumentos se insertan de derecha a izquierda. Los registros EAX, ECX y EDX no se conservan.
Estos identificadores de convención de llamada los usa .NET Framework, la plataforma Windows Embedded CE y 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, vea How to: Map HRESULTs and Exceptions.