DllImportAttribute.BestFitMapping フィールドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DllImportAttribute.BestFitMapping フィールドの意味・解説 

DllImportAttribute.BestFitMapping フィールド

Unicode 文字を ANSI 文字に変換するときの、最適マッピング動作のオン/オフを切り替えます。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public BestFitMapping As Boolean
Dim instance As DllImportAttribute
Dim value As Boolean

value = instance.BestFitMapping

instance.BestFitMapping = value
public bool BestFitMapping
public:
bool BestFitMapping
public boolean BestFitMapping
public var BestFitMapping : boolean
解説解説

true の場合、最適マッピングは有効になります。これ以外の場合、最適マッピングは無効になります。BestFitMapping フィールドの既定値は true です。このフィールドの設定は、System.Runtime.InteropServices.BestFitMappingAttribute 属性のすべてのレベルの設定をオーバーライドします。

Windows 98 または Windows Me で実行するアンマネージ メソッドにマネージ Unicode 文字が渡された場合、このような Unicode 文字は共通言語ランタイムによって ANSI 文字に変換されます。最適マッピングを使用すると、完全一致が存在しないときに、相互運用マーシャリングが最も近い文字を提供します。たとえば、マーシャラは、ANSI 文字を許可するアンマネージ メソッドの場合、Unicode の著作権記号を 'c' に変換します。一部の文字には最適形式が存在しません。このような文字はマップできない文字といいます。マップできない文字は原則として、既定の '?'ANSI 文字に変換されます。

注意に関するメモ注意

特定の Unicode 文字は、意図せずパスを変更するおそれがある円記号 "\" など、危険な文字に変換されます。ThrowOnUnmappableChar フィールドを true に設定すると、マップできない文字があることを例外をスローして呼び出し元に通知できます。

注意に関するメモ注意

アンマネージ セーフ配列への LPSTR または ANSI Chars が要素となっているマネージ配列を渡す場合は、BestFitMapping フィールドと ThrowOnUnmappableChar フィールドの既定値を変更できません。最適マッピングは常に有効となり、例外はスローされません。この組み合わせの場合、セキュリティ モデルが損なわれるおそれがあります。

使用例使用例

Visual Basic の開発者は、マネージ コードで DLL 関数を定義する際、Declare ステートメントの代わりに、DllImportAttribute を使用することがあります。BestFitMapping フィールドの設定は、このような事例の 1 つです。ANSI 文字セットを指定することによって最も厳しい文字マッピング セキュリティをプラットフォーム呼び出しメソッドの定義に適用し、最適マッピングの動作を無効にし、マップできない Unicode 文字に遭遇したときに例外をスローさせる例を次に示します。

<DllImport("My.dll", CharSet := CharSet.Ansi, _
                       BestFitMapping := False _
                       ThrowOnUnmappableChar := True)>
[DllImport("My.dll", CharSet = CharSet.Ansi, 
                       BestFitMapping = false
                       ThrowOnUnmappableChar = true)]
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DllImportAttribute クラス
DllImportAttribute メンバ
System.Runtime.InteropServices 名前空間
CharSet
BestFitMappingAttribute クラス



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DllImportAttribute.BestFitMapping フィールド」の関連用語

DllImportAttribute.BestFitMapping フィールドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DllImportAttribute.BestFitMapping フィールドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS