HuangXiaocheng 2015-06-29 14:00 采纳率: 0%
浏览 1539
已结题

非托管DLL内的函数 参数如何写?

非托管DLL内的函数
HANDLE myfunction (char FileName[][512], int FileCount)
这个函数如何在C#里怎么写函数签名,如何调用?

  • 写回答

2条回答 默认 最新

  • qq_29415983 2015-06-29 14:37
    关注

    利用平台调用这种服务,托管代码可以调用在动态链接库 (DLL)(如 Win32 API 中的 DLL)中实现的非托管函数。 此服务将查找并调用导出的函数,然后根据需要跨越互用边界封送其参数(整数、字符串、数组、结构等)。 有关此服务的更多信息,请参见平台调用详解。
    本节将介绍几项与使用非托管 DLL 函数相关联的任务。 除了下列任务之外,还包括一般注意事项以及一个用于提供附加信息和示例的链接。
    使用导出的 DLL 函数
    标识 DLL 中的函数。
    最低限度上,必须指定函数的名称和包含该函数的 DLL 的名称。
    创建用于容纳 DLL 函数的类。
    可以使用现有类,为每一非托管函数创建单独的类,或者创建包含一组相关的非托管函数的一个类。
    在托管代码中创建原型。
    [Visual Basic] 使用带 Function 和 Lib 关键字的 Declare 语句。 在某些少见的情况下,可以使用带 Shared Function 关键字的 DllImportAttribute。 这些情况在本节后面部分进行说明。
    [C#] 使用 DllImportAttribute 标识 DLL 和函数。 用 static 和 extern 修饰符标记方法。
    [C++] 使用 DllImportAttribute 标识 DLL 和函数。 用 extern "C" 标记包装方法或函数。
    调用 DLL 函数。
    像处理其他任何托管方法一样调用托管类上的方法。 传递结构和实现回调函数属于特殊情况。

    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题