CALLCONV Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Identifikuje konvenci volání používanou metodou popsanou ve struktuře METHODDATA .
public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV =
[<System.Serializable>]
type CALLCONV =
Public Enum CALLCONV
- Dědičnost
- Atributy
Pole
CC_CDECL | 1 | Označuje, že se pro metodu používá konvence volání deklarace C (CDECL). |
CC_MACPASCAL | 3 | Označuje, že se pro metodu používá konvence volání Macintosh Pascal (MACPASCAL). |
CC_MAX | 9 | Označuje konec výčtu CALLCONV . |
CC_MPWCDECL | 7 | Označuje, že se pro metodu používá konvence volání CDECL (MPW) programu Macintosh Programmers. |
CC_MPWPASCAL | 8 | Označuje, že se pro metodu používá konvence volání jazyka MPW (MpW) PASCAL programátorů Macintosh. |
CC_MSCPASCAL | 2 | Označuje, že se pro metodu používá konvence volání MSC Pascal (MSCPASCAL). |
CC_PASCAL | 2 | Označuje, že se pro metodu používá konvence volání Pascal. |
CC_RESERVED | 5 | Tato hodnota je vyhrazena pro budoucí použití. |
CC_STDCALL | 4 | Označuje, že se pro metodu používá standardní konvence volání (STDCALL). |
CC_SYSCALL | 6 | Označuje, že standardní konvence volání SYSCALL se používá pro metodu. |
Poznámky
Konvence volání v této třídě popisují, jak funkce předávají argumenty a vracejí hodnoty. Určují pořadí, ve kterém jsou parametry nastaveny pro volané funkce, kde jsou parametry uloženy (v registrech nebo v paměti) a kdo (volající nebo volaná funkce) zodpovídá za vyčištění zásobníku po vrácení funkce. Příklad:
CC_CDECL používá konvence pro pojmenování a volání jazyka C. Volající nasdílí parametry do zásobníku v obráceném pořadí (zprava doleva) a po vrácení funkce zásobník vyčistí. Tato konvence volání umožňuje volat funkce pomocí
varargs
, což je vhodné pro použití s metodami, které přijímají proměnlivý počet parametrů, jako jsou funkce běhu jazyka C printf, _printf_l, wprintf _wprintf_l.CC_PASCAL používá konvenci volání Pascal. Volající nasdílí parametry do zásobníku v pořadí zleva doprava. Volaná funkce před vrácením vyčistí zásobník.
CC_STDCALL je standardní konvence volání pro funkce Win32. Jedná se o výchozí konvenci volání nespravovaných funkcí s voláním platformy. Volající nasdílí parametry do zásobníku v obráceném pořadí (zprava doleva) a volaná funkce před vrácením zásobník vyčistí.
CC_SYSCALL se podobá seznamu CDECL v tom, že argumenty jsou nasdílené zprava doleva. Registry EAX, ECX a EDX se nezachovají.
Tyto identifikátory konvencí volání jsou používány rozhraním .NET Framework, platformou Windows Embedded CE a službou Automation.
Common Language Runtime vyvolá výjimku, když metoda COM v nativním kódu vrátí HRESULT. Další informace najdete v tématu Postupy: Mapování HRESULTů a výjimek.