DllImportAttribute.ThrowOnUnmappableChar Поле

Определение

Включает или отключает исключение для неуправляемого символа Юникода, преобразованного в символ ANSI "?"

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

Значение поля

Примеры

В некоторых случаях разработчики Visual Basic используют DllImportAttribute для определения функции DLL в управляемом коде вместо использования инструкции Declare. ThrowOnUnmappableChar Установка поля является одним из этих случаев. В следующем примере показано, как применить строгое сопоставление символов к определениям метода вызова платформы, указав набор символов ANSI, отключив оптимальное поведение сопоставления и создав исключение для несопоставленных символов Юникода.

[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

Комментарии

Значение , указывающее, что исключение создается каждый раз, когда маршалер взаимодействия преобразует неуправляемый символ; Значение , чтобы указать, что поле отключено. Это поле по false умолчанию.

Предостережение

Некоторые символы Юникода преобразуются в опасные символы, такие как символ обратной косой черты \, который может случайно изменить путь. Задав ThrowOnUnmappableChar поле в значение true, можно сигнализировать о присутствии неуправляемого символа вызывающему объекту путем вызова исключения.

Предостережение

Нельзя изменить значения по умолчанию, предоставляемые полями BestFitMapping , ThrowOnUnmappableChar при передаче управляемого массива, элементы которого — ANSI Chars или LPSTRs в неуправляемый безопасный массив. Сопоставление лучшего соответствия всегда включено, и исключение не возникает. Имейте в виду, что это сочетание может скомпрометировать модель безопасности.

Применяется к

См. также раздел