Другие примеры маршалинга
Обновлен: Ноябрь 2007
Такие факторы, как сборка мусора и работа с потоками, могут оказывать воздействие на работу упаковщика взаимодействия. Мелкие различия в модели программирования и в модели типов могут затруднить передачу данных в неуправляемую библиотеку. В этом разделе содержится ряд примеров, показывающих эти различия.
В следующей таблице представлены параметры маршалинга для элементов различного типа, описание их применения и ссылки на соответствующие примеры.
Тип элемента |
Описание |
Образец |
---|---|---|
Указатель на функцию |
Передает делегат неуправляемой функции, ожидающей указателя функции. |
|
Использует структуру HandleRef для предотвращения сборки мусора. |
||
LPARAM |
Использует структуру GCHandle для передачи управляемого объекта в неуправляемую функцию, ожидающую тип LPARAM. |
|
Однопотоковое подразделение/многопотоковое подразделение апартамент. |
Изменяет параметры подразделений по умолчанию, если неуправляемая функция вызывает CoInitialize. |
|
void* |
Вызывает функцию с заданным параметром void*. |
См. также
Основные понятия
Типы данных вызовов неуправляемого кода
Маршалинг классов, структур и объединений