CALLCONV Wyliczenie

Definicja

Identyfikuje konwencję wywoływania używaną przez metodę opisaną w strukturze METHODDATA .

C#
public enum CALLCONV
C#
[System.Serializable]
public enum CALLCONV
Dziedziczenie
CALLCONV
Atrybuty

Pola

Nazwa Wartość Opis
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

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Zobacz też