다음을 통해 공유


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;  

멤버

멤버 Description
pmNoMangle 지정된 대로 각 멤버 이름을 사용합니다.
pmCharSetMask 예약되어 있습니다.
pmCharSetNotSpec 예약되어 있습니다.
pmCharSetAnsi 문자열을 다중 바이트 문자열로 마샬링합니다.
pmCharSetUnicode 문자열을 유니코드 2바이트 문자로 마샬링합니다.
pmCharSetAuto 문자열을 대상 운영 체제에 맞게 자동으로 마샬링합니다. 기본값은 Windows에서 유니코드입니다.
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 예약되어 있습니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorHdr.h

.NET Framework 버전: 1.0부터 사용 가능

참고 항목