CALLCONV Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Identyfikuje konwencję wywoływania używaną przez metodę opisaną w strukturze METHODDATA .
public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV =
[<System.Serializable>]
type CALLCONV =
Public Enum CALLCONV
- Dziedziczenie
- Atrybuty
Pola
CC_CDECL | 1 | Wskazuje, że dla metody jest używana konwencja wywoływania deklaracji C (CDECL). |
CC_MACPASCAL | 3 | Wskazuje, że dla metody jest używana konwencja wywoływania MacPASCAL (Macintosh Pascal, MACPASCAL). |
CC_MAX | 9 | Wskazuje koniec CALLCONV wyliczenia. |
CC_MPWCDECL | 7 | Wskazuje, że dla metody jest używana konwencja wywoływania CDECL programu Macintosh Programmers Workbench (MPW). |
CC_MPWPASCAL | 8 | Wskazuje, że konwencja wywoływania PASCAL (MPW) programistów macintosha jest używana dla metody. |
CC_MSCPASCAL | 2 | Wskazuje, że konwencja wywołania MSC Pascal (MSCPASCAL) jest używana dla metody. |
CC_PASCAL | 2 | Wskazuje, że konwencja wywoływania Pascal jest używana dla metody. |
CC_RESERVED | 5 | Ta wartość jest zarezerwowana do użytku w przyszłości. |
CC_STDCALL | 4 | Wskazuje, że standardowa konwencja wywoływania (STDCALL) jest używana dla metody. |
CC_SYSCALL | 6 | Wskazuje, że standardowa konwencja wywoływania SYSCALL jest używana dla metody. |
Uwagi
Konwencje wywoływania w tej klasie opisują, jak funkcje przekazują argumenty i zwracają wartości. Określają one kolejność konfigurowania parametrów dla wywoływanych funkcji, gdzie parametry są przechowywane (w rejestrach lub w pamięci) oraz kto (obiekt wywołujący lub wywoływany funkcja) jest odpowiedzialny za czyszczenie stosu po powrocie funkcji. Na przykład:
CC_CDECL używa konwencji nazewnictwa i wywoływania języka C. Obiekt wywołujący wypycha parametry do stosu w kolejności odwrotnej (od prawej do lewej) i czyści stos po powrocie funkcji. Ta konwencja wywoływania umożliwia wywoływanie funkcji za pomocą
varargs
polecenia , co sprawia, że jest odpowiedni do użycia z metodami, które akceptują zmienną liczbę parametrów, takich jak printf funkcji czasu wykonywania języka C , _printf_l, wprintf, _wprintf_l.CC_PASCAL używa konwencji wywoływania Pascal. Obiekt wywołujący wypycha parametry do stosu w kolejności od lewej do prawej. Wywołana funkcja czyści stos przed zwróceniem.
CC_STDCALL jest standardową konwencją wywoływania funkcji Win32. Jest to domyślna konwencja wywoływania funkcji niezarządzanych za pomocą wywołania platformy. Obiekt wywołujący wypycha parametry do stosu w kolejności odwrotnej (od prawej do lewej), a wywołana funkcja czyści stos przed zwróceniem.
CC_SYSCALL jest podobny do listy CDECL w tym, że argumenty są wypychane od prawej do lewej. Rejestry EAX, ECX i EDX nie są zachowywane.
Te identyfikatory konwencji wywoływania są używane przez platformę .NET Framework, platformę Windows Embedded CE i usługę Automation.
Środowisko uruchomieniowe języka wspólnego zgłasza wyjątek, gdy metoda COM w kodzie natywnym zwraca hrESULT. Aby uzyskać więcej informacji, zobacz How to: Map HRESULTs and Exceptions (Instrukcje: mapowania wartości HRESULTs i wyjątków).