DllImportAttribute.BestFitMapping Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 používají vývojáři jazyka DllImportAttributeVisual Basic k definování funkce knihovny DLL ve spravovaném kódu místo Declare
příkazu . BestFitMapping Jedním z těchto případů je nastavení pole. 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 chování mapování co nejlépe přizpůsobit a vyvoláním výjimky pro nemapované znaky 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 true
je povolené chování mapování nejvhodnějších řešení, v opačném případě je mapování nejvhodnějšího nastavení zakázané. Pole BestFitMapping je true
ve výchozím nastavení. Nastavení pro toto pole přepíší nastavení libovolné úrovně atributu System.Runtime.InteropServices.BestFitMappingAttribute .
Upozornění
Některé znaky Unicode se převedou na nebezpečné znaky, například znak zpětného lomítka \, který může neúmyslně změnit cestu. Nastavením ThrowOnUnmappableChar pole na true
hodnotu můž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 nespravované bezpečné pole. Mapování nejlepších potřeb je vždy povolené a nedochází k žádné výjimce. Mějte na paměti, že tato kombinace může ohrozit váš model zabezpečení.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro