调用 DLL 函数

尽管调用非托管 DLL 函数与调用其他托管代码几乎完全相同,但一开始可能会使 DLL 函数变得混乱。 本部分介绍一些涉及异常呼叫问题的主题。

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

本节中

传递结构
识别在传递具有预定义布局的数据结构时的问题。

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

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

使用非托管 DLL 函数
介绍如何使用平台调用调用非托管 DLL 函数。

使用平台调用封送数据
介绍如何声明方法参数并将参数传递给非托管库导出的函数。