Udostępnij za pośrednictwem


CALLCONV Wyliczenie

Definicja

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
CALLCONV
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ą varargspolecenia , 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).

Dotyczy

Zobacz też