CALLCONV 列舉

定義

識別 METHODDATA 結構中所述方法使用的呼叫慣例。

public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV = 
[<System.Serializable>]
type CALLCONV = 
Public Enum CALLCONV
繼承
CALLCONV
屬性

欄位

CC_CDECL 1

表示在方法中使用 C 宣告 (CDECL) 呼叫慣例。

CC_MACPASCAL 3

表示在方法中使用 Macintosh Pascal (MACPASCAL) 呼叫慣例。

CC_MAX 9

表示 CALLCONV 列舉的結尾。

CC_MPWCDECL 7

表示在方法中使用 Macintosh Programmers' Workbench (MPW) CDECL 呼叫慣例。

CC_MPWPASCAL 8

表示在方法中使用 Macintosh Programmers' Workbench (MPW) PASCAL 呼叫慣例。

CC_MSCPASCAL 2

表示在方法中使用 MSC Pascal (MSCPASCAL) 呼叫慣例。

CC_PASCAL 2

表示在方法中使用 Pascal 呼叫慣例。

CC_RESERVED 5

這個值已保留供未來使用

CC_STDCALL 4

表示在方法中使用標準呼叫慣例 (STDCALL)。

CC_SYSCALL 6

表示在方法中使用標準 SYSCALL 呼叫慣例。

備註

這個類別中的呼叫慣例描述函式如何傳遞自變數和傳回值。 他們會指定所呼叫函式的參數設定順序,其中參數會儲存 (在緩存器或記憶體) 中,以及 (呼叫端或呼叫函式) 負責在函式傳回之後清除堆疊。 例如:

  • CC_CDECL會使用 C 語言的命名和呼叫慣例。 呼叫端會反向將參數推送至堆疊, (由右至左) 順序,並在函式傳回之後清除堆疊。 此呼叫慣例可讓您使用 呼叫函 varargs式,使其適合用於接受可變數目參數的方法,例如 C 運行時間函式 printf、_printf_l、wprintf、_wprintf_l

  • CC_PASCAL使用Pascal呼叫慣例。 呼叫端會以由左至右的順序將參數推送至堆疊。 呼叫的函式會在傳回之前清除堆疊。

  • CC_STDCALL是 Win32 函式的標準呼叫慣例。 這是使用平台調用呼叫 Unmanaged 函式的預設慣例。 呼叫端會反向將參數推送至堆疊, (由右至左) 順序,而呼叫的函式會在傳回之前清除堆疊。

  • CC_SYSCALL類似於 CDECL,該自變數會從右至左推入。 EAX、ECX 和 EDX 快取器不會保留。

這些呼叫慣例標識碼是由 .NET Framework、Windows Embedded CE 平臺和自動化所使用。

Common Language Runtime 會在機器碼中的 COM 方法傳回 HRESULT 時擲回例外狀況。 如需詳細資訊,請參閱 How to: Map HRESULTs and Exceptions

適用於

另請參閱