Вызов функции DLL

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

Структуры, возвращаемые из вызовов неуправляемого кода, должны быть типами данных, имеющими одинаковые представления в управляемом и неуправляемом коде. Такие типы называются непреобразуемыми типами, так как они не требуют преобразования (см. раздел Непреобразуемые и преобразуемые типы). Чтобы вызвать функцию с преобразуемой структурой в качестве ее возвращаемого типа, можно определить непреобразуемый вспомогательный тип того же размера, что и преобразуемый тип, и преобразовать данные после возвращения функции.

В этом разделе

Передача структур
Описываются вопросы передачи структур данных с предопределенной компоновкой.

Функции обратного вызова
Основные сведения о функциях обратного вызова.

Практическое руководство. Реализация функций обратного вызова
Описывается реализация функций обратного вызова в управляемом коде.

Использование неуправляемых функций DLL
Описывает способ вызова неуправляемых функций DLL с помощью вызова платформы.

Маршаллирование данных с помощью вызова платформы
Описывается способ объявления параметров метода и передачи аргументов в функции, экспортируемые неуправляемыми библиотеками.