其他封送处理示例

诸如垃圾回收和线程处理等因素可能影响 interop 封送拆收器的行为。 此外,编程和类型模型方面的微小差异也可能使向非托管库传递数据的操作出现混乱。 本节提供一组解决其中某些差异的示例。

下表列出各种类型的项的封送处理选项,描述它们的用法并提供到相应示例的链接。

项的类型

说明

示例

函数指针

将委托传递给需要函数指针的非托管函数。

回调

HandleRef

使用 HandleRef 结构防止垃圾回收。

HandleRef

LPARAM

使用 GCHandle 结构将托管对象传递给需要 LPARAM 类型的非托管函数。

GCHandle

单线程单元 (STA)/多线程单元 (MTA)

在非托管函数调用 CoInitialize 时更改默认单元设置。

ActiveDir

void*

调用将 void* 作为参数的函数。

Void

请参见

概念

平台调用数据类型

封送处理字符串

封送类、结构和联合

封送类型数组

其他资源

用平台调用封送数据