다음을 통해 공유


CorPinvokeMap 열거형

Pinvoke 호출의 옵션을 지정합니다.

typedef enum  CorPinvokeMap {
    
    pmNoMangle          = 0x0001,
    
    pmCharSetMask       = 0x0006,
    pmCharSetNotSpec    = 0x0000,
    pmCharSetAnsi       = 0x0002,
    pmCharSetUnicode    = 0x0004,
    pmCharSetAuto       = 0x0006,
    
    pmBestFitUseAssem   = 0x0000,
    pmBestFitEnabled    = 0x0010,
    pmBestFitDisabled   = 0x0020,
    pmBestFitMask       = 0x0030,
    
    pmThrowOnUnmappableCharUseAssem   = 0x0000,
    pmThrowOnUnmappableCharEnabled    = 0x1000,
    pmThrowOnUnmappableCharDisabled   = 0x2000,
    pmThrowOnUnmappableCharMask       = 0x3000,
    
    pmSupportsLastError = 0x0040, 
    
    pmCallConvMask      = 0x0700,
    pmCallConvWinapi    = 0x0100,
    pmCallConvCdecl     = 0x0200,
    pmCallConvStdcall   = 0x0300,
    pmCallConvThiscall  = 0x0400,
    pmCallConvFastcall  = 0x0500,

    pmMaxValue          = 0xFFFF
    
} CorPinvokeMap;

멤버

멤버

설명

pmNoMangle

지정된 각 멤버 이름을 사용합니다.

pmCharSetMask

예약되었습니다.

pmCharSetNotSpec

예약되었습니다.

pmCharSetAnsi

문자열을 다중 바이트 문자열로 마샬링합니다.

pmCharSetUnicode

문자열을 유니코드 2바이트 문자로 마샬링합니다.

pmCharSetAuto

문자열을 대상 운영 체제에 맞게 자동으로 마샬링합니다. 기본값은 Windows NT, Windows 2000, Windows XP 및 Windows Server 2003 제품군에서는 유니코드이고 Windows 98 및 Windows Me에서는 ANSI입니다.

pmBestFitUseAssem

예약되었습니다.

pmBestFitEnabled

ANSI 문자 집합에 정확하게 일치하지 않는 유니코드 문자의 가장 적합한 매핑을 수행합니다.

pmBestFitDisabled

유니코드 문자의 가장 적합한 매핑을 수행하지 않습니다. 이 경우 매핑할 수 없는 문자가 모두 ‘?’로 대체됩니다.

pmBestFitMask

예약되었습니다.

pmThrowOnUnmappableCharUseAssem

예약되었습니다.

pmThrowOnUnmappableCharEnabled

interop 마샬러에서 매핑할 수 없는 문자가 발견되면 예외를 throw합니다.

pmThrowOnUnmappableCharDisabled

interop 마샬러에서 매핑할 수 없는 문자가 발견되면 예외가 throw되지 않습니다.

pmThrowOnUnmappableCharMask

예약되었습니다.

pmSupportsLastError

특성 사용 메서드에서 반환하기 전에 호출 수신자가 Win32 SetLastError 함수를 호출할 수 있습니다.

pmCallConvMask

예약되었습니다.

pmCallConvWinapi

기본 플랫폼 호출 규칙을 사용합니다. 예를 들어 Windows에서는 기본값이 StdCall이고 Windows CE .NET에서는 기본값이 Cdecl입니다.

pmCallConvCdecl

Cdecl 호출 규칙을 사용합니다. 이 경우 호출자가 스택을 정리합니다. 이렇게 하면 varargs가 포함된 함수(여러 가지 매개 변수를 사용하는 함수)를 호출할 수 있습니다.

pmCallConvStdcall

StdCall 호출 규칙을 사용합니다. 이 경우 호출 수신자가 스택을 정리합니다. 이는 플랫폼 호출을 사용하여 관리되지 않는 함수를 호출하는 기본 규칙입니다.

pmCallConvThiscall

ThisCall 호출 규칙을 사용합니다. 이 경우 첫 번째 매개 변수는 this 포인터이며 레지스터 ECX에 저장됩니다. 다른 매개 변수는 스택에 푸시됩니다. ThisCall 호출 규칙은 관리되지 않는 DLL에서 내보낸 클래스의 메서드를 호출하는 데 사용됩니다.

pmCallConvFastcall

예약되었습니다.

pmMaxValue

예약되었습니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorHdr.h

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

참고 항목

기타 리소스

메타데이터 열거형