Вызов функции DLL
Хотя вызов неуправляемых функций DLL почти идентичен вызову другого управляемого кода, все же существуют отличия, которые поначалу могут вызвать некоторые сложности в освоении функций DLL. В этом разделе представлены темы, касающиеся некоторых особенностей вызовов.
Структуры, возвращаемые из вызовов неуправляемого кода, должны быть типами данных, имеющими одинаковые представления в управляемом и неуправляемом кодах. Такие типы называются непреобразуемыми типами, так как они не требуют преобразования (см. Преобразуемые и непреобразуемые типы). Чтобы вызвать функцию с преобразуемой структурой как ее возвращаемый тип, можно определить непреобразуемый вспомогательный тип того же размера, что и преобразуемый тип, и преобразовать данные после возвращения функции.
В этом подразделе
Передача структур
Определяет вопросы передачи структур данных с предопределенной компоновкой.Функции обратного вызова
Предоставляет базовые сведения о функциях обратного вызова.Практическое руководство. Реализация функций обратного вызова
Описывает порядок реализации функций обратного вызова в управляемом коде.
Связанные подразделы
Использование неуправляемых функций DLL
Описывает способ вызова неуправляемых функций DLL с помощью вызова неуправляемого кода.Маршалинг данных при вызове неуправляемого кода
Описывает способ объявления параметров метода и передачи аргументов в функции, экспортируемые неуправляемыми библиотеками.
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Май 2010 |
Уточнено, что ограничение на возвращаемые типы применяется к структурам. |
Исправление ошибки содержимого. |