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

메서드에 대해 C 선언(CDECL) 호출 규칙이 사용됨을 나타냅니다.Indicates that the C declaration (CDECL) calling convention is used for a method.

CC_MACPASCAL 3

메서드에 대해 Macintosh Pascal(MACPASCAL) 호출 규칙이 사용됨을 나타냅니다.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

메서드에 대해 Macintosh Programmers' Workbench(MPW) CDECL 호출 규칙이 사용됨을 나타냅니다.Indicates that the Macintosh Programmers' Workbench (MPW) CDECL calling convention is used for a method.

CC_MPWPASCAL 8

메서드에 대해 Macintosh Programmers' Workbench(MPW) PASCAL 호출 규칙이 사용됨을 나타냅니다.Indicates that the Macintosh Programmers' Workbench (MPW) PASCAL calling convention is used for a method.

CC_MSCPASCAL 2

메서드에 대해 MSC Pascal(MSCPASCAL) 호출 규칙이 사용됨을 나타냅니다.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, _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.

이러한 호출 규칙 식별자는 .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.

적용 대상

추가 정보