DllImportAttribute.ThrowOnUnmappableChar Veld

Definitie

Hiermee kunt u het genereren van een uitzondering op een niet-toepasbaar Unicode-teken dat wordt geconverteerd naar een ANSI-teken '?' in- of uitschakelen.

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

Waarde van veld

Voorbeelden

In sommige gevallen gebruiken Visual Basic ontwikkelaars de DllImportAttribute om een DLL-functie in beheerde code te definiƫren in plaats van de instructie Declare te gebruiken. Het instellen van het ThrowOnUnmappableChar veld is een van deze gevallen. In het volgende voorbeeld ziet u hoe u de striktste beveiliging voor het toewijzen van tekens toepast op een platform die methodedefinities aanroept door de ANSI-tekenset op te geven, het gedrag van de meest geschikte toewijzing uit te schakelen en een uitzondering op niet-toegewezen Unicode-tekens te genereren.

[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

Opmerkingen

true om aan te geven dat er telkens een uitzondering wordt gegenereerd wanneer de interop marshaler een onaanpasbaar teken converteert; false om aan te geven dat het ThrowOnUnmappableChar veld is uitgeschakeld. Dit veld is false standaard ingesteld.

Caution

Bepaalde Unicode-tekens worden geconverteerd naar gevaarlijke tekens, zoals het backslash-teken '\', dat per ongeluk een pad kan wijzigen. Door het ThrowOnUnmappableChar veld in te truestellen op , kunt u de aanwezigheid van een niet-toepasbaar teken aan de beller signaleren door een uitzondering te genereren.

Caution

U kunt de standaardwaarden die worden opgegeven door de BestFitMapping en ThrowOnUnmappableChar velden niet wijzigen wanneer u een beheerde matrix doorgeeft waarvan de elementen ANSI-tekens of LPSTR's zijn voor een onbeheerde veilige matrix. De best passende toewijzing is altijd ingeschakeld en er wordt geen uitzondering gegenereerd. Houd er rekening mee dat deze combinatie uw beveiligingsmodel kan in gevaar komen.

Van toepassing op

Zie ook