平台调用支持

更新:2007 年 11 月

平台调用是一种服务,它使托管代码能够调用 DLL 中实现的非托管函数。您可以使用与 .NET Framework 全功能版中相同的语义使用平台调用,但是 .NET Compact Framework 对可以在非托管代码和托管代码之间封送的对象和类型有一些限制。

.NET Compact Framework 平台调用有三个部分:

  1. 在设计时,开发人员提供要调用的非托管函数的描述。这包括模块名称(DLL 文件)、入口点名称和调用约定。

  2. 实时 (JIT) 编译时,公共语言运行库从元数据中提取该信息,定位包含函数的 DLL,然后将 DLL 加载到内存中并检索函数的地址。如果找不到模块或函数,则公共语言运行库引发 MissingMethodException

  3. 在运行时,公共语言运行库在调用非托管函数之前将参数从托管格式封送为非托管格式。公共语言运行库根据方法的托管声明确定如何封送每个参数。

本节内容

相关章节