Nyelv

DllImportAttribute.BestFitMapping Mező

Definíció

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.

A következőre érvényes:

Lásd még