CALLCONV 열거형

정의

METHODDATA 구조에 설명된 메서드에서 사용하는 호출 규칙을 식별합니다.

public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV = 
[<System.Serializable>]
type CALLCONV = 
Public Enum CALLCONV
상속
CALLCONV
특성

필드

Name Description
CC_CDECL 1

CDECL(C 선언) 호출 규칙이 메서드에 사용됨을 나타냅니다.

CC_MSCPASCAL 2

MSC Pascal(MSCPASCAL) 호출 규칙이 메서드에 사용됨을 나타냅니다.

CC_PASCAL 2

메서드에 Pascal 호출 규칙이 사용됨을 나타냅니다.

CC_MACPASCAL 3

MACPASCAL(Macintosh Pascal) 호출 규칙이 메서드에 사용됨을 나타냅니다.

CC_STDCALL 4

STDCALL(표준 호출 규칙)이 메서드에 사용됨을 나타냅니다.

CC_RESERVED 5

이 값은 나중에 사용할 수 있습니다.

CC_SYSCALL 6

표준 SYSCALL 호출 규칙이 메서드에 사용됨을 나타냅니다.

CC_MPWCDECL 7

메서드에 Macintosh 프로그래머의 MPW(Workbench) CDECL 호출 규칙이 사용됨을 나타냅니다.

CC_MPWPASCAL 8

Macintosh Programmers MPW(Workbench) PASCAL 호출 규칙이 메서드에 사용됨을 나타냅니다.

CC_MAX 9

열거형의 CALLCONV 끝을 나타냅니다.

설명

이 클래스의 호출 규칙은 함수가 인수를 전달하고 값을 반환하는 방법을 설명합니다. 호출된 함수에 대해 매개 변수를 설정하는 순서, 매개 변수가 레지스터 또는 메모리에 저장되는 위치, 함수가 반환된 후 스택 정리를 담당하는 사람(호출자 또는 호출 함수)을 지정합니다. 다음은 그 예입니다.

  • 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를 반환할 때 예외를 throw합니다. 자세한 내용은 방법: HRESULT 및 예외 매핑을 참조하세요.

적용 대상

추가 정보