CALLCONV CALLCONV CALLCONV CALLCONV Enum

定義

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

フィールド

CC_CDECL CC_CDECL CC_CDECL CC_CDECL 1

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

CC_MACPASCAL CC_MACPASCAL CC_MACPASCAL CC_MACPASCAL 3

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

CC_MAX CC_MAX CC_MAX CC_MAX 9

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

CC_MPWCDECL CC_MPWCDECL CC_MPWCDECL 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 CC_MPWPASCAL CC_MPWPASCAL 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 CC_MSCPASCAL CC_MSCPASCAL CC_MSCPASCAL 2

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

CC_PASCAL CC_PASCAL CC_PASCAL CC_PASCAL 2

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

CC_RESERVED CC_RESERVED CC_RESERVED CC_RESERVED 5

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

CC_STDCALL CC_STDCALL CC_STDCALL CC_STDCALL 4

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

CC_SYSCALL CC_SYSCALL CC_SYSCALL 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、_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 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.

これらの呼び出し元の規則 id を使って、 .NET Framework.NET FrameworkWindows 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.

詳細についてはCC_CDECL、MSDN ライブラリを参照してください。For additional information about CC_CDECL, see the MSDN Library.

ネイティブ コードで 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.

適用対象

こちらもご覧ください