DllImportAttribute.BestFitMapping Mező
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A Unicode-karakterek ANSI-karakterekké alakításakor engedélyezi vagy letiltja a legjobban illeszkedő leképezési viselkedést.
public: bool BestFitMapping;
public bool BestFitMapping;
val mutable BestFitMapping : bool
Public BestFitMapping As Boolean
Mező értéke
Példák
Bizonyos esetekben Visual Basic fejlesztők a DllImportAttribute a Declare utasítás helyett egy DLL-függvényt definiálnak a felügyelt kódban.
BestFitMapping A mező beállítása az ilyen esetek egyike. Az alábbi példa bemutatja, hogyan alkalmazhatja a legszigorúbb karakterleképezési biztonságot a platformhívási metódusdefiníciókra az ANSI-karakterkészlet megadásával, a legjobb illesztési viselkedés letiltásával, valamint a leképezetlen Unicode-karakterek kivételének kizárásával.
[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
Megjegyzések
Ha truea legjobban illeszkedő leképezési viselkedés engedélyezve van, ellenkező esetben a legjobb illesztés le van tiltva. A BestFitMapping mező alapértelmezés szerint.true A mező beállításai felülbírálják az attribútum bármely szintbeállítását System.Runtime.InteropServices.BestFitMappingAttribute .
Figyelmeztetés
Bizonyos Unicode-karakterek veszélyes karakterekké alakulnak, például a fordított perjel "\" karakterré, amely véletlenül megváltoztathatja az elérési utat. Ha a mezőt ThrowOnUnmappableCharúgy true állítja be, hogy egy nem alkalmazható karakter jelenik meg a hívónak, kivételt jelezhet.
Figyelmeztetés
A felügyelt tömbök ANSI-karakterekkel vagy LPSTR-ekkel rendelkező elemeinek nem felügyelt biztonságos tömbbe való továbbításakor a mezők és BestFitMapping a ThrowOnUnmappableChar mezők által megadott alapértelmezett értékek nem módosíthatók. A legjobban illeszkedő leképezés mindig engedélyezve van, és nincs kivétel. Vegye figyelembe, hogy ez a kombináció veszélyeztetheti a biztonsági modellt.