アンマネージ コードとの相互運用Interoperating with unmanaged code

.NET Framework は、COM コンポーネント、COM+ サービス、外部のタイプ ライブラリ、各種のオペレーティング システム サービスとの相互運用を促進します。The .NET Framework promotes interaction with COM components, COM+ services, external type libraries, and many operating system services. データ型、メソッド署名、およびエラー処理機構は、マネージ オブジェクト モデルとアンマネージ オブジェクト モデルでは異なります。Data types, method signatures, and error-handling mechanisms vary between managed and unmanaged object models. .NET Framework コンポーネントとアンマネージ コードの間の相互運用を簡素化し、移行パスを簡単にするために、共通言語ランタイムがクライアントとサーバーの両方からこれらのオブジェクト モデルの違いを隠します。To simplify interoperation between .NET Framework components and unmanaged code and to ease the migration path, the common language runtime conceals from both clients and servers the differences in these object models.

ランタイムの制御下で実行されるコードは、マネージ コードと呼ばれます。Code that executes under the control of the runtime is called managed code. 逆に、ランタイムの外部で実行されるコードはアンマネージ コードと呼ばれます。Conversely, code that runs outside the runtime is called unmanaged code. アンマネージ コードの例としては、COM コンポーネント、ActiveX インターフェイス、Win32 API 関数があります。COM components, ActiveX interfaces, and Win32 API functions are examples of unmanaged code.

このセクションの内容In this section

.NET Framework への COM コンポーネントの公開Exposing COM Components to the .NET Framework
.NET Framework アプリケーションから COM コンポーネントを使用する方法について説明します。Describes how to use COM components from .NET Framework applications.

COM への .NET Framework コンポーネントの公開Exposing .NET Framework Components to COM
COM アプリケーションから .NET Framework コンポーネントを使用する方法について説明します。Describes how to use .NET Framework components from COM applications.

アンマネージ DLL 関数の処理Consuming Unmanaged DLL Functions
プラットフォーム呼び出しを使用して、アンマネージ DLL 関数を呼び出す方法について説明します。Describes how to call unmanaged DLL functions using platform invoke.

相互運用マーシャリングInterop Marshaling
COM 相互運用機能とプラットフォーム呼び出しのマーシャリングについて説明します。Describes marshaling for COM interop and platform invoke.

方法: HRESULT に例外を割り当てるHow to: Map HRESULTs and Exceptions
例外と HRESULT の間のマッピングについて説明します。Describes the mapping between exceptions and HRESULTs.

COM ラッパーCOM Wrappers
COM 相互運用機能が提供するラッパーをについて説明します。Describes the wrappers provided by COM interop.

型の等価性と埋め込まれた相互運用機能型Type Equivalence and Embedded Interop Types
COM 型の型情報をアセンブリに埋め込む方法と、共通言語ランタイムが埋め込みの COM 型の等価性を決定する方法について説明します。Describes how type information for COM types is embedded in assemblies, and how the common language runtime determines the equivalence of embedded COM types.

方法: Tlbimp.exe を使用してプライマリ相互運用機能アセンブリを生成するHow to: Generate Primary Interop Assemblies Using Tlbimp.exe
Tlbimp.exe (タイプ ライブラリ インポーター) を使用して、プライマリ相互運用機能アセンブリを生成する方法について説明します。Describes how to produce primary interop assemblies using Tlbimp.exe (Type Library Importer).

方法: プライマリ相互運用機能アセンブリを登録するHow to: Register Primary Interop Assemblies
プロジェクトで参照する前に、プライマリ相互運用機能アセンブリを登録する方法について説明します。Describes how to register the primary interop assemblies before you can reference them in your projects.

登録を必要としない COM 相互運用機能Registration-Free COM Interop
COM 相互運用機能によって Windows レジストリを使用せずにコンポーネントをアクティブ化する方法を説明します。Describes how COM interop can activate components without using the Windows registry.

方法: 登録を必要としないアクティベーション用の .NET Framework ベースの COM コンポーネントを構成するHow to: Configure .NET Framework-Based COM Components for Registration-Free Activation
アプリケーション マニフェストを作成する方法と、コンポーネント マニフェストを作成して埋め込む方法について説明します。Describes how to create an application manifest and how to create and embed a component manifest.