logo search
CSharp_Prog_Guide

Создание прототипов в управляемом коде

В этом разделе описывается порядок обращения к неуправляемым функциям и представлено несколько полей атрибутов, которые уточняют описание метода в управляемом коде.

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

Примечание.

Функции Win32 API, которые распределяют строку, позволяют освободить строку с помощью, например, метода LocalFree. При вызове неуправляемого кода эти параметры обрабатываются иначе. Для вызовов неуправляемого кода следует использовать параметр типа IntPtr, а не типа String. Чтобы вручную преобразовать тип в строку и вручную освободить его, можно использовать методы, предоставленные классом System.Runtime.InteropServices..::.Marshal.