DllImportAttribute.BestFitMapping Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Active ou désactive le comportement de mappage ajusté lors de la conversion de caractères Unicode en caractères ANSI.
public: bool BestFitMapping;
public bool BestFitMapping;
val mutable BestFitMapping : bool
Public BestFitMapping As Boolean
Valeur de champ
Exemples
Dans certains cas, les développeurs Visual Basic utilisent l’instruction DllImportAttribute, au lieu de l’instruction Declare
, pour définir une fonction DLL dans du code managé. La définition du BestFitMapping champ est l’un de ces cas. L’exemple suivant montre comment appliquer la sécurité de mappage de caractères la plus stricte aux définitions de méthode d’appel de plateforme en spécifiant le jeu de caractères ANSI, en désactivant le comportement de mappage le plus adapté et en lisant une exception sur les caractères Unicode non mappés.
[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
Remarques
Si true
la valeur est , le comportement de mappage le mieux adapté est activé ; sinon, le mappage le mieux adapté est désactivé. Le BestFitMapping champ est true
par défaut. Les paramètres de ce champ remplacent les paramètres de n’importe quel niveau pour l’attribut System.Runtime.InteropServices.BestFitMappingAttribute .
Attention
Certains caractères Unicode sont convertis en caractères dangereux, comme la barre oblique inverse « \ », qui peut modifier par inadvertance un chemin d’accès. En définissant le ThrowOnUnmappableChar champ sur true
, vous pouvez signaler la présence d’un caractère non appappable à l’appelant en lisant une exception.
Attention
Vous ne pouvez pas modifier les valeurs par défaut fournies par les BestFitMapping champs et ThrowOnUnmappableChar lors du passage d’un tableau managé dont les éléments sont des chars ANSI ou des LPSTRs à un tableau sécurisé non managé. Le mappage le mieux adapté est toujours activé et aucune exception n’est levée. N’oubliez pas que cette combinaison peut compromettre votre modèle de sécurité.