DllImportAttribute.ThrowOnUnmappableChar Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Abilita o disabilita la generazione di un'eccezione in un carattere Unicode non modificabile convertito in un carattere ANSI "?".
public: bool ThrowOnUnmappableChar;
public bool ThrowOnUnmappableChar;
val mutable ThrowOnUnmappableChar : bool
Public ThrowOnUnmappableChar As Boolean
Valore del campo
Esempio
In alcuni casi, Visual Basic sviluppatori usano l'
[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
Commenti
true per indicare che viene generata un'eccezione ogni volta che il gestore di marshalling di interoperabilità converte un carattere non valido; false per indicare che il ThrowOnUnmappableChar campo è disabilitato. Questo campo è false per impostazione predefinita.
Caution
Alcuni caratteri Unicode vengono convertiti in caratteri pericolosi, ad esempio il carattere barra rovesciata '\', che può inavvertitamente modificare un percorso. Impostando il ThrowOnUnmappableChar campo su true, è possibile segnalare la presenza di un carattere non modificabile al chiamante generando un'eccezione.
Caution
Non è possibile modificare i valori predefiniti forniti dai BestFitMapping campi e ThrowOnUnmappableChar quando si passa una matrice gestita i cui elementi sono caratteri ANSI o LPSTR a una matrice sicura non gestita. Il mapping più appropriato è sempre abilitato e non viene generata alcuna eccezione. Tenere presente che questa combinazione può compromettere il modello di sicurezza.