Взаимодействие с неуправляемым кодом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 и неуправляемым программным кодом, а также для облегчения перехода от одной модели к другой среда CLR скрывает имеющиеся в этих объектных моделях различия от клиентов и серверов.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 и функции Windows API.COM components, ActiveX interfaces, and Windows API functions are examples of unmanaged code.

Содержание разделаIn this section

Предоставление COM-компонентов платформе .NET FrameworkExposing COM Components to the .NET Framework
Описывает способы использования COM-компонентов в приложениях .NET Framework.Describes how to use COM components from .NET Framework applications.

Предоставление компонентов .NET Framework клиентам COMExposing .NET Framework Components to COM
Описывает способы использования компонентов .NET Framework в приложениях COM.Describes how to use .NET Framework components from COM applications.

Использование неуправляемых функций DLLConsuming 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.

Эквивалентность типов и внедренные типы взаимодействия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.exeHow 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.

Практическое руководство. Настройка COM-компонентов на основе платформы .NET Framework для активации без регистрации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.

Oболочки COMCOM Wrappers
Описываются программы-оболочки, предоставляемые COM-взаимодействием.Describes the wrappers provided by COM interop.