CALLCONV 列挙型

定義

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
継承
CALLCONV
属性

フィールド

CC_CDECL 1

メソッドに対して CDECL (C declaration) 呼び出し規約を使用することを示します。Indicates that the C declaration (CDECL) calling convention is used for a method.

CC_MACPASCAL 3

メソッドに対して MACPASCAL (Macintosh Pascal) 呼び出し規約を使用することを示します。Indicates that the Macintosh Pascal (MACPASCAL) calling convention is used for a method.

CC_MAX 9

CALLCONV 列挙体の末尾を示します。Indicates the end of the CALLCONV enumeration.

CC_MPWCDECL 7

メソッドに対して MPW (Macintosh Programmers' Workbench) CDECL 呼び出し規約を使用することを示します。Indicates that the Macintosh Programmers' Workbench (MPW) CDECL calling convention is used for a method.

CC_MPWPASCAL 8

メソッドに対して MPW (Macintosh Programmers' Workbench) PASCAL 呼び出し規約を使用することを示します。Indicates that the Macintosh Programmers' Workbench (MPW) PASCAL calling convention is used for a method.

CC_MSCPASCAL 2

メソッドに対して MSCPASCAL (MSC Pascal) 呼び出し規約を使用することを示します。Indicates that the MSC Pascal (MSCPASCAL) calling convention is used for a method.

CC_PASCAL 2

メソッドに対して Pascal 呼び出し規約が使用されることを示します。Indicates that the Pascal calling convention is used for a method.

CC_RESERVED 5

この値は、今後使用するために予約されています。This value is reserved for future use.

CC_STDCALL 4

メソッドに対して STDCALL (標準呼び出し規約) を使用することを示します。Indicates that the standard calling convention (STDCALL) is used for a method.

CC_SYSCALL 6

メソッドに対して標準 SYSCALL 呼び出し規約を使用することを示します。Indicates that the standard SYSCALL calling convention is used for a method.

注釈

このクラスの呼び出し規則は、関数が引数と戻り値を渡す方法を記述します。The calling conventions in this class describe how functions pass arguments and return values. これらは、呼び出された関数に対してパラメーターが設定される順序を指定します。パラメーターは、レジスタまたはメモリ内に格納されます。また、関数が戻った後にスタックをクリーンアップするユーザー (呼び出し元または呼び出し先関数) の役割も指定します。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. 次に例を示します。For example:

  • CC_CDECL では、C 言語の名前付け規則と呼び出し規約を使用します。CC_CDECL uses the naming and calling conventions of the C language. 呼び出し元は、逆方向 (右から左) の順序でパラメーターをスタックにプッシュし、関数から制御が戻った後にスタックをクリーンアップします。The caller pushes the parameters onto the stack in reverse (right-to-left) order, and cleans the stack after the function returns. この呼び出し規約を使用するとvarargs、を使用して関数を呼び出すことができます。これにより、C ランタイム関数printf、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 は、Pascal 呼び出し規約を使用します。CC_PASCAL uses the Pascal calling convention. 呼び出し元は、パラメーターを左から右の順序でスタックにプッシュします。The caller pushes the parameters onto the stack in left-to-right order. 呼び出された関数は、を返す前にスタックを消去します。The called function cleans the stack before returning.

  • CC_STDCALL は、Win32 関数の標準的な呼び出し規約です。CC_STDCALL is the standard calling convention for Win32 functions. これは、プラットフォーム呼び出しでアンマネージ関数を呼び出す場合の既定の規則です。It is the default convention for calling unmanaged functions with platform invoke. 呼び出し元は、逆方向 (右から左) にパラメーターをスタックにプッシュし、呼び出された関数はを返す前にスタックを消去します。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 は CDECL に似ていますが、引数は右から左にプッシュされます。CC_SYSCALL is similar to CDECL in that arguments are pushed from right to left. EAX、ECX、および EDX レジスタは保持されません。The EAX, ECX, and EDX registers are not preserved.

これらの.NET Framework.NET Framework Windows Embedded CEWindows Embedded CE呼び出し規約識別子は、、プラットフォーム、およびオートメーションによって使用されます。These calling convention identifiers are used by the .NET Framework.NET Framework, the Windows Embedded CEWindows Embedded CE platform, and by Automation.

ネイティブコードの COM メソッドが HRESULT を返す場合、共通言語ランタイムは例外をスローします。The common language runtime throws an exception when a COM method in native code returns an HRESULT. 詳細については、「 How to: Map HRESULTs and Exceptions」を参照してください。For more information, see How to: Map HRESULTs and Exceptions.

適用対象

こちらもご覧ください