CALLCONV Výčet

Definice

Identifikuje konvenci volání použitou metodou popsanou ve struktuře METHODDATA .Identifies the calling convention used by a method described in a METHODDATA structure.

public enum class CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV = 
Public Enum CALLCONV
Dědičnost
CALLCONV
Atributy

Pole

CC_CDECL 1

Označuje, že se pro metodu používá konvence volání deklarace C (CDECL).Indicates that the C declaration (CDECL) calling convention is used for a method.

CC_MACPASCAL 3

Označuje, že se pro metodu používá konvence volání Macintosh (MACPASCAL).Indicates that the Macintosh Pascal (MACPASCAL) calling convention is used for a method.

CC_MAX 9

Označuje konec CALLCONV výčtu.Indicates the end of the CALLCONV enumeration.

CC_MPWCDECL 7

Indikuje, že se pro metodu používá konvence volání CDECL programátorů pro Macintosh (MPW).Indicates that the Macintosh Programmers' Workbench (MPW) CDECL calling convention is used for a method.

CC_MPWPASCAL 8

Indikuje, že se pro metodu používá konvence volání PASCAL (MPW) pro Macintosh.Indicates that the Macintosh Programmers' Workbench (MPW) PASCAL calling convention is used for a method.

CC_MSCPASCAL 2

Označuje, že konvence volání MSC Pascal (MSCPASCAL) se používá pro metodu.Indicates that the MSC Pascal (MSCPASCAL) calling convention is used for a method.

CC_PASCAL 2

Označuje, že konvence volání Pascal se používá pro metodu.Indicates that the Pascal calling convention is used for a method.

CC_RESERVED 5

Tato hodnota je vyhrazena pro budoucí použití.This value is reserved for future use.

CC_STDCALL 4

Označuje, že pro metodu je použita standardní konvence volání (STDCALL).Indicates that the standard calling convention (STDCALL) is used for a method.

CC_SYSCALL 6

Označuje, že standardní konvence volání SYSCALL se používá pro metodu.Indicates that the standard SYSCALL calling convention is used for a method.

Poznámky

Konvence volání v této třídě popisují, jak funkce předávat argumenty a návratové hodnoty.The calling conventions in this class describe how functions pass arguments and return values. Určují pořadí, ve kterém jsou nastaveny parametry pro volané funkce, kde jsou uloženy parametry (v registrech nebo v paměti) a kteří (volající nebo volaná funkce) zodpovídají za vyčištění zásobníku po návratu funkce.They specify the order in which parameters are set up for the called functions, where the parameters are stored (in registers or in memory), and who (caller or called function) is responsible for cleaning up the stack after the function returns. Příklad:For example:

  • CC_CDECL používá konvence pojmenování a volání jazyka C.CC_CDECL uses the naming and calling conventions of the C language. Volající posune parametry do zásobníku v obráceném pořadí (zprava doleva) a vyčistí zásobník po návratu funkce.The caller pushes the parameters onto the stack in reverse (right-to-left) order, and cleans the stack after the function returns. Tato konvence volání umožňuje volat funkce s varargs, který je vhodný pro použití s metodami, které přijímají proměnný počet parametrů, jako například běhové funkce jazyka C printf, _printf_l, wprintf, _wprintf_l.This calling convention enables you to call functions with varargs, which makes it appropriate for use with methods that accept a variable number of parameters, such as the C run-time functions printf, _printf_l, wprintf, _wprintf_l.

  • CC_PASCAL používá konvenci volání Pascal.CC_PASCAL uses the Pascal calling convention. Volající posune parametry do zásobníku v pořadí zleva doprava.The caller pushes the parameters onto the stack in left-to-right order. Volaná funkce vyčistí zásobník před vrácením.The called function cleans the stack before returning.

  • CC_STDCALL je standardní konvence volání pro funkce Win32.CC_STDCALL is the standard calling convention for Win32 functions. Je to výchozí konvence pro volání nespravovaných funkcí s voláním platformy.It is the default convention for calling unmanaged functions with platform invoke. Volající posune parametry do zásobníku v obráceném pořadí (zprava doleva) a volaná funkce vyčistí zásobník před vrácením.The caller pushes the parameters onto the stack in reverse (right to left) order, and the called function cleans the stack before returning.

  • CC_SYSCALL se podobá CDECL v tom, že argumenty jsou vloženy zprava doleva.CC_SYSCALL is similar to CDECL in that arguments are pushed from right to left. Registry EAX vrátí, ECX a EDX se nezachovají.The EAX, ECX, and EDX registers are not preserved.

Tyto identifikátory konvencí volání jsou používány rozhraním .NET Framework.NET Framework Windows Embedded CEWindows Embedded CE , platformou a automatizací.These calling convention identifiers are used by the .NET Framework.NET Framework, the Windows Embedded CEWindows Embedded CE platform, and by Automation.

Modul common language runtime vyvolá výjimku, pokud metoda COM v nativním kódu vrátí hodnotu HRESULT.The common language runtime throws an exception when a COM method in native code returns an HRESULT. Další informace najdete v tématu jak: Mapování HRESULTs a Exceptions.For more information, see How to: Map HRESULTs and Exceptions.

Platí pro

Viz také