CALLCONV 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
METHODDATA 구조체에서 설명한 메서드에서 사용하는 호출 규칙을 식별합니다.
public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV =
[<System.Serializable>]
type CALLCONV =
Public Enum 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 런타임 함수
varargs
printf, _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을 참조하세요.
적용 대상
추가 정보
.NET