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 언어의 명명 및 호출 규칙을 사용합니다. 호출자는 역방향(오른쪽에서 왼쪽) 순서로 매개 변수를 스택에 푸시하고 함수가 반환된 후 스택을 정리합니다. 이 호출 규칙을 사용하면 를 사용하여 함수를 호출할 수 있으므로 C 런타임 함수 varargsprintf, _printf_l, wprintf, _wprintf_l 같은 다양한 수의 매개 변수를 허용하는 메서드에 사용하기에 적합합니다.

  • CC_PASCAL 파스칼 호출 규칙을 사용합니다. 호출자는 매개 변수를 왼쪽에서 오른쪽 순서로 스택에 푸시합니다. 호출된 함수는 반환하기 전에 스택을 정리합니다.

  • CC_STDCALL Win32 함수에 대한 표준 호출 규칙입니다. 플랫폼 호출을 사용하여 관리되지 않는 함수를 호출하는 기본 규칙입니다. 호출자는 역방향(오른쪽에서 왼쪽) 순서로 스택에 매개 변수를 푸시하고 호출된 함수는 반환하기 전에 스택을 정리합니다.

  • CC_SYSCALL 인수가 오른쪽에서 왼쪽으로 푸시되는 CDECL과 비슷합니다. EAX, ECX 및 EDX 레지스터는 유지되지 않습니다.

이러한 호출 규칙 식별자는 .NET Framework, Windows Embedded CE 플랫폼 및 Automation에서 사용됩니다.

네이티브 코드에서 COM 메서드는 HRESULT를 반환 하는 경우에 공용 언어 런타임 예외가 발생 합니다. 자세한 내용은 How to: Map HRESULTs and Exceptions을 참조하세요.

적용 대상

추가 정보