DllImportAttribute クラスとは? わかりやすく解説

DllImportAttribute クラス

属性付きメソッドがアンマネージ DLL (Dynamic-Link Library) によって静的エントリ ポイントとして公開されることを示します

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

<AttributeUsageAttribute(AttributeTargets.Method, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 DllImportAttribute
    Inherits Attribute
Dim instance As DllImportAttribute
[AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)]
 
[ComVisibleAttribute(true)] 
public sealed class DllImportAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method, Inherited=false)]
 
[ComVisibleAttribute(true)] 
public ref class DllImportAttribute sealed
 : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)
 */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class DllImportAttribute extends
 Attribute
AttributeUsageAttribute(AttributeTargets.Method, Inherited=false)
 
ComVisibleAttribute(true) 
public final class DllImportAttribute extends
 Attribute
解説解説

この属性は、メソッド適用できます

DllImportAttribute 属性は、アンマネージ DLL からエクスポートされた関数呼び出すために必要な情報提供します最低限要件として、エントリ ポイントを含む DLL の名前を指定する必要があります

この属性C# および C++メソッド定義に対して直接適用ます。Visual Basic では、Declare ステートメント使用され場合コンパイラによってこの属性出力されます。BestFitMapping、CallingConvention、ExactSpelling、PreserveSig、SetLastError、ThrowOnUnmappableChar のいずれかフィールドを含む複雑なメソッド定義の場合は、この属性Visual Basicメソッド定義に直接適用ます。

メモ :    JScript はこの属性サポートしていません。JScript プログラムからアンマネージ APIメソッドアクセスするには、C# または Visual Basicラッパー クラス使用します

プラットフォーム呼び出しサービス使用してアンマネージ DLL関数アクセスする方法詳細については、「アンマネージ DLL 関数の処理」を参照してください

メモメモ

DllImportAttribute では、ジェネリック型マーシャリングサポートしていません。

使用例使用例

DllImportAttribute 属性使用して Win32 MessageBox 関数インポートする方法次のコード例示します。このコード例では、インポートしたメソッド呼び出してます。

Imports System
Imports System.Runtime.InteropServices

Module Example

    ' Use DllImport to import the Win32 MessageBox function.
    <DllImport("user32.dll", CharSet:=CharSet.Auto)>
 _
    Function MessageBox(ByVal hwnd As
 IntPtr, ByVal t As String,
 ByVal caption As String, ByVal t2 As UInt32) As Integer
    End Function


    Sub Main()
        ' Call the MessageBox function using platform invoke.
        MessageBox(New IntPtr(0), "Hello World!",
 "Hello Dialog", 0)
    End Sub

End Module
using System;
using System.Runtime.InteropServices;

class Example
{
    // Use DllImport to import the Win32 MessageBox function.
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    public static extern int
 MessageBox(IntPtr hWnd, String text, String caption, uint type);
    
    static void Main()
    {
        // Call the MessageBox function using platform invoke.
        MessageBox(new IntPtr(0), "Hello World!", "Hello
 Dialog", 0);
    }
}
継承階層継承階層
System.Object
   System.Attribute
    System.Runtime.InteropServices.DllImportAttribute
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DllImportAttribute メンバ
System.Runtime.InteropServices 名前空間
SetLastError
ExactSpelling
PreserveSig
CallingConvention



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DllImportAttribute クラス」の関連用語

DllImportAttribute クラスのお隣キーワード
検索ランキング

   

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



DllImportAttribute クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS