调用 DLL 函数

尽管调用非托管 DLL 函数与调用其他托管代码几乎完全相同,但有一些差异会使 DLL 函数一开始令人感到迷惑。 本部分介绍的主题描述了与一些与调用相关的异常问题。

从平台调用返回的结构必须是在托管代码和非托管代码中表示形式相同的数据类型。 这些类型称为 blittable 类型,因为它们不需要转换(请参阅 Blittable 类型和非 Blittable 类型)。 若要调用返回类型为 non-blittable 结构的函数,可定义与 non-blittable 类型大小相同的 blittable 帮助程序类型,并在函数返回后转换数据。

本节内容

传递结构
确定使用预定义布局传递数据结构的问题。

回调函数
提供有关回调函数的基本信息。

如何:实现回调函数
描述如何在托管代码中实现回调函数。

使用非托管 DLL 函数
描述如何使用平台调用调用非托管 DLL 函数。

用平台调用封送数据
描述如何声明方法形参以及如何将实参传递给由非托管库导出的函数。