DllImportAttribute.BestFitMapping Fält

Definition

Aktiverar eller inaktiverar mappningsbeteendet som passar bäst när unicode-tecken konverteras till ANSI-tecken.

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

Fältvärde

Exempel

I vissa fall använder Visual Basic utvecklare DllImportAttribute i stället för instruktionen Declare för att definiera en DLL-funktion i hanterad kod. Att ange fältet BestFitMapping är ett av dessa fall. I följande exempel visas hur du tillämpar den strängaste teckenmappningssäkerheten på en plattform som anropar metoddefinitioner genom att ange ANSI-teckenuppsättningen, inaktivera bästa beteende för anpassningsmappning och utlösa ett undantag för ommappade Unicode-tecken.

[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

Kommentarer

Om trueär mappningsbeteendet bäst aktiverat. Annars inaktiveras mappning med bäst passform. Fältet BestFitMapping är true som standard. Inställningarna för det här fältet åsidosätter alla nivåinställningar för attributet System.Runtime.InteropServices.BestFitMappingAttribute .

Caution

Vissa Unicode-tecken konverteras till farliga tecken, till exempel omvänt snedstreck som oavsiktligt kan ändra en sökväg. Genom att ange ThrowOnUnmappableChar fältet till truekan du signalera förekomsten av ett ommappbart tecken till anroparen genom att utlösa ett undantag.

Caution

Du kan inte ändra standardvärdena som anges av fälten BestFitMapping och ThrowOnUnmappableChar när du skickar en hanterad matris vars element är ANSI-tecken eller LPSTR:er till en ohanterad säker matris. Best-fit-mappning är alltid aktiverat och inget undantag genereras. Tänk på att den här kombinationen kan äventyra din säkerhetsmodell.

Gäller för

Se även