Sdílet prostřednictvím


DllImportAttribute.BestFitMapping Pole

Definice

Povolí nebo zakáže nejlepší chování mapování při převodu znaků Unicode na znaky ANSI.

public: bool BestFitMapping;
public bool BestFitMapping;
val mutable BestFitMapping : bool
Public BestFitMapping As Boolean 

Hodnota pole

Příklady

V některých případech vývojáři jazyka Visual Basic používají k definování funkce knihovny DLL ve spravovaném DllImportAttributekódu místo Declare příkazu . BestFitMapping Nastavení pole je jedním z těchto případů. Následující příklad ukazuje, jak použít nejpřísnější zabezpečení mapování znaků na definice metody volání platformy zadáním znakové sady ANSI, zakázáním nejvhodnějšího chování mapování a vyvoláním výjimky u nemapovaných znaků Unicode.

[DllImport("My.dll", CharSet = CharSet::Ansi,
    BestFitMapping = false,
    ThrowOnUnmappableChar = true)]
int SomeFuncion2(int parm);
[DllImport("My.dll", CharSet = CharSet.Ansi,
    BestFitMapping = false,
    ThrowOnUnmappableChar = true)]
internal static extern int SomeFuncion2(int parm);
<DllImport("My.dll", CharSet:=CharSet.Ansi,
    BestFitMapping:=False,
    ThrowOnUnmappableChar:=True)>
Friend Shared Function SomeFuncion2(parm As Integer) As Integer
End Function

Poznámky

Pokud trueje povolené , je povolené chování mapování nejlepších řešení. V opačném případě je mapování nejvhodnějších hodnot zakázané. Pole BestFitMapping je true ve výchozím nastavení. Nastavení pro toto pole přepíší nastavení jakékoli úrovně atributu System.Runtime.InteropServices.BestFitMappingAttribute .

Upozornění

Některé znaky Unicode jsou převedeny na nebezpečné znaky, například zpětné lomítko "\", které mohou neúmyslně změnit cestu. ThrowOnUnmappableChar Nastavením pole na truemůžete volajícímu signalizovat přítomnost nemapovatelného znaku vyvoláním výjimky.

Upozornění

Výchozí hodnoty zadané BestFitMapping poli a ThrowOnUnmappableChar nelze změnit při předávání spravovaného pole, jehož prvky jsou znaky ANSI nebo LPSTR do nespravovaného bezpečného pole. Mapování nejlepších velikostí je vždy povolené a nevyvolá se žádná výjimka. Mějte na paměti, že tato kombinace může ohrozit váš model zabezpečení.

Platí pro

Viz také