Дом развитие Что такое атрибут dllimport? - определение из техопедии

Что такое атрибут dllimport? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает атрибут DllImport?

Атрибут DllImport - это декларативный тег, используемый в C # для пометки метода класса как определяемого во внешней динамически подключаемой библиотеке (DLL), а не в любой сборке .NET.


Атрибут DllImport используется во время выполнения для вызова функции, экспортируемой во внешнюю DLL, реализованную с помощью неуправляемого кода, который выполняется вне контроля общеязыковой среды выполнения (CLR). Он также используется для указания другой информации, необходимой при вызове функции, такой как соглашение о вызовах, тип преобразования параметров, передаваемых между управляемым и неуправляемым кодом, и т. Д. Таким образом, он используется для взаимодействия с кодом в неуправляемых и устаревших компонентах, которые находятся в Windows. DLL и написана на C или C ++.


DllImport полезен в ситуациях, когда функциональные возможности управляемого приложения, код которого выполняется CLR, могут быть расширены только путем доступа и повторного использования функциональности интерфейса программирования приложений (API) Win32 и других пользовательских неуправляемых кодов, которые реализованы. в DLL. Это может сэкономить усилия при разработке и использовать существующий надежный и хорошо протестированный код, не изобретая колесо в управляемом приложении. Обычно это необходимо при использовании библиотек DLL, которые нельзя переписать, но которые можно изменить.

Techopedia объясняет атрибут DllImport

Атрибут DllImport - это оператор объявления для экспортируемой функции, вызываемой из управляемого приложения. Его нельзя использовать для функции-члена, для которой требуется экземпляр класса. Он указывается во время разработки в квадратных скобках до объявления метода, для которого он применяется. Перед объявлением функции необходимо использовать строку «extern».


Например, атрибут DllImport можно использовать в приложении Windows Forms, которое является управляемым приложением для вызова метода компонента объектной модели компонента (чей код неуправляемый) для выполнения некоторых вычислений.


Он предназначен для импорта традиционных библиотек DLL, которые экспортируют свои функции, используя оригинальный механизм экспорта Windows DLL. Он не предназначен для использования кода в управляемой сборке (в виде DLL), на который можно ссылаться непосредственно в проекте управляемого приложения.


Атрибут DllImport использует InteropServices из CLR, который выполняет вызов из управляемого кода в неуправляемый код. Он также информирует компилятор о расположении реализации используемой функции. Когда вызывается неуправляемая функция-оболочка с этим атрибутом в управляемом коде, CLR находит и загружает необходимую DLL. Он выполняет маршалы (преобразует параметры в соответствии со спецификацией) и возвращает обратно неуправляемый код после выполнения вместе с надлежащим преобразованием параметров.


При использовании атрибута DllImport необходимо соблюдать осторожность, чтобы использовать правильное имя библиотеки DLL и экспортируемой функции, поскольку опечатки могут происходить в местах, где их нелегко обнаружить.

Что такое атрибут dllimport? - определение из техопедии