Udostępnij za pośrednictwem


CorPinvokeMap — Wyliczenie

Określa opcje wywołania PInvoke.

Składnia

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;  

Elementy członkowskie

Członek Opis
pmNoMangle Użyj nazwy każdego elementu członkowskiego zgodnie z określoną nazwą.
pmCharSetMask Zarezerwowany.
pmCharSetNotSpec Zarezerwowany.
pmCharSetAnsi Przeprowadzanie marshalingu ciągów jako ciągów znaków wielobajtowych.
pmCharSetUnicode Marshaling strings as Unicode 2-byte znaków.
pmCharSetAuto Automatycznie marshaluje ciągi odpowiednio dla docelowego systemu operacyjnego. Wartość domyślna to Unicode w systemie Windows.
pmBestFitUseAssem Zarezerwowany.
pmBestFitEnabled Wykonaj najlepsze mapowanie znaków Unicode, które nie mają dokładnego dopasowania w zestawie znaków ANSI.
pmBestFitDisabled Nie wykonuj najlepszego mapowania znaków Unicode. W takim przypadku wszystkie niezastosowane znaki zostaną zastąpione znakiem "?".
pmBestFitMask Zarezerwowany.
pmThrowOnUnmappableCharUseAssem Zarezerwowany.
pmThrowOnUnmappableCharEnabled Zgłaszanie wyjątku, gdy marshaller międzyoperacyjny napotka nieaplikowalny znak.
pmThrowOnUnmappableCharDisabled Nie zgłaszaj wyjątku, gdy marshaller międzyoperacyjny napotka nieaplikowalny znak.
pmThrowOnUnmappableCharMask Zarezerwowany
pmSupportsLastError Zezwalaj na wywoływanie funkcji Win32 SetLastError przed powrotem z metody przypisanej.
pmCallConvMask Zarezerwowany
pmCallConvWinapi Użyj domyślnej konwencji wywoływania platformy. Na przykład w systemie Windows wartość domyślna to StdCall i na Windows CE .NET jest to Cdecl.
pmCallConvCdecl Cdecl Użyj konwencji wywoływania. W takim przypadku obiekt wywołujący czyści stos. Umożliwia to wywoływanie funkcji za pomocą varargs funkcji (czyli funkcji, które akceptują zmienną liczbę parametrów).
pmCallConvStdcall StdCall Użyj konwencji wywoływania. W takim przypadku obiekt wywoływany czyści stos. Jest to domyślna konwencja wywoływania niezarządzanych funkcji z wywołaniem platformy.
pmCallConvThiscall ThisCall Użyj konwencji wywoływania. W tym przypadku pierwszy parametr jest wskaźnikiem this i jest przechowywany w rejestrze ECX. Inne parametry są wypychane na stos. Konwencja ThisCall wywoływania służy do wywoływania metod dla klas wyeksportowanych z niezarządzanej biblioteki DLL.
pmCallConvFastcall Zarezerwowany.
pmMaxValue Zarezerwowany.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorHdr.h

wersje .NET Framework: dostępne od wersji 1.0

Zobacz też