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

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

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

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

Передача структур Выявляет проблемы, связанные с передачей структур данных с заранее заданной компоновкой.

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

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

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

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