摘要:[C#].NetFrameWork互通性-与 Unmanaged 程序互通
在 CLR 控制下所执行的程序,称为 Managed 程序。
反之,
在执行阶段以外执行的程序就称为 Unmanaged 程序。COM 组件、ActiveX 界面及 Win32 API 函数都是 Unmanaged 程序的范例。
使用导出的 DLL 函数
DLL 函数的识别是由下列项目构成:
-
函数名称或序数
-
可在其中找到实践之 DLL 文件的名称
指定进入点
进入点可识别函数在 DLL 中的位置。在 Managed 项目中,目标函数的原始名称或以序数编号的进入点可以在整个互通界限识别这个函数。
此外,您也可以将进入点对应到不同的名称,实际地重新命名这个函数。
在 Managed 程序中建立原型
必须先知道函数名称以及导出该函数之 DLL 的名称,然后才能从 Managed 程序存取 Unmanaged DLL 函数。有了这项资讯,您就可以开始对 DLL 中所实践之 Unmanaged 函数撰写 Managed 定义。此外,您也可以调整平台叫用建立函数和在函数之间封送处理数据的方式。
平台叫用范例
使用平台叫用封送处理数据
平台叫用数据类型
封送处理字符串
封送处理类、结构和等位
原文:大专栏 [C#].NetFrameWork互通性-与 Unmanaged 程序互通