CALLCONV Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Identifica la convenzione di chiamata usata da un metodo descritto in una struttura METHODDATA.
public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV =
[<System.Serializable>]
type CALLCONV =
Public Enum CALLCONV
- Ereditarietà
- Attributi
Campi
CC_CDECL | 1 | Indica che per un metodo viene usata la convenzione di chiamata CDECL (C Declaration). |
CC_MACPASCAL | 3 | Indica che per un metodo viene usata la convenzione di chiamata MACPASCAL (Macintosh Pascal). |
CC_MAX | 9 | Indica la fine dell'enumerazione CALLCONV. |
CC_MPWCDECL | 7 | Indica che per un metodo viene usata la convenzione di chiamata CDECL MPW (Macintosh Programmers' Workbench). |
CC_MPWPASCAL | 8 | Indica che per un metodo viene usata la convenzione di chiamata PASCAL MPW (Macintosh Programmers' Workbench). |
CC_MSCPASCAL | 2 | Indica che per un metodo viene usata la convenzione di chiamata MSCPASCAL (MSC Pascal). |
CC_PASCAL | 2 | Indica che per un metodo viene usata la convenzione di chiamata Pascal. |
CC_RESERVED | 5 | Questo valore è riservato per l'uso futuro. |
CC_STDCALL | 4 | Indica che per un metodo viene usata la convenzione di chiamata standard (STDCALL). |
CC_SYSCALL | 6 | Indica che per un metodo viene usata la convenzione di chiamata SYSCALL standard. |
Commenti
Le convenzioni di chiamata in questa classe descrivono come le funzioni passano argomenti e restituiscono valori. Specificano l'ordine in cui vengono configurati i parametri per le funzioni chiamate, in cui i parametri vengono archiviati (in registri o in memoria) e chi (chiamante o chiamata funzione) è responsabile della pulizia dello stack dopo che la funzione restituisce. Ad esempio:
CC_CDECL usa le convenzioni di denominazione e chiamata del linguaggio C. Il chiamante esegue il push dei parametri nello stack inverso (da destra a sinistra) e pulisce lo stack dopo che la funzione restituisce. Questa convenzione chiamante consente di chiamare funzioni con
varargs
, che lo rende appropriato per l'uso con metodi che accettano un numero variabile di parametri, ad esempio le funzioni di runtime C printf, _printf_l, wprintf, _wprintf_l.CC_PASCAL usa la convenzione di chiamata Pascal. Il chiamante esegue il push dei parametri nello stack in ordine sinistro a destra. La funzione denominata pulisce lo stack prima di restituire.
CC_STDCALL è la convenzione di chiamata standard per le funzioni Win32. È la convenzione predefinita per chiamare funzioni non gestite con l'richiamare della piattaforma. Il chiamante esegue il push dei parametri nello stack inverso (da destra a sinistra) e la funzione denominata pulisce lo stack prima di restituire.
CC_SYSCALL è simile a CDECL in tale argomento viene eseguito il push da destra a sinistra. I registri EAX, ECX e EDX non vengono mantenuti.
Questi identificatori di convenzione chiamante vengono usati da .NET Framework, dalla piattaforma Windows Embedded CE e dall'automazione.
Common Language Runtime genera un'eccezione quando un metodo COM nel codice nativo restituisce un HRESULT. Per altre informazioni, vedere How to: Map HRESULTs and Exceptions.
Si applica a
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per