DllImportAttribute.ThrowOnUnmappableChar Pole

Definice

Povolí nebo zakáže vyvolání výjimky u nemapovatelného znaku Unicode, který je převeden na znak ANSI "?" .

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

Hodnota pole

Příklady

V některých případech Visual Basic vývojáři místo příkazu DllImportAttribute definují funkci knihovny DLL ve spravovaném kódu pomocí Declare. ThrowOnUnmappableChar Nastavení pole je jedním z těchto případů. Následující příklad ukazuje, jak použít nejtriktnější zabezpečení mapování znaků na platformu vyvolat definice metody zadáním znakové sady ANSI, zakázáním nejlepší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

true k označení, že je vyvolán výjimka pokaždé, když zprostředkovatele komunikace převede nemapovatelný znak; false označující, že ThrowOnUnmappableChar je pole zakázané. Toto pole je false ve výchozím nastavení.

Caution

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

Caution

Při předávání spravovaného pole, jehož prvky jsou znaky ANSI nebo LPSTR, nelze změnit výchozí hodnoty poskytnuté poli BestFitMapping a ThrowOnUnmappableChar polemi, které jsou nespravovaným bezpečným polem. Mapování nejvhodnějších možností je vždy povolené a není vyvolán žádná výjimka. Mějte na paměti, že tato kombinace může ohrozit váš model zabezpečení.

Platí pro

Viz také