如文档中所述:
\n\n\n\n\nNPAPI 浏览器插件在其\xe2\x80\x99s 核心只是一个具有一些特定入口点的 DLL
\n
这意味着您需要从常规 dll 中导出一些函数,这通常是在 C/C++ 中完成的。不幸的是,不可能从普通的 C# dll 公开任何入口点,但看看这个答案,通过一些努力,似乎可以通过某种后期构建工具来欺骗某些导出。
\n\n无论如何,不要期望从插件接口传递太多复杂的数据结构,这会很痛苦。如果您有兴趣进行更多研究,则可以使用“反向 P/Invoke”,类似于从托管世界调用常规 dll 的直接 P/Invoke。
\n\nC# dll 无法直接公开“入口点”的原因是, 入口点实际上只是 dll 内的某个地址,指向一些可立即执行的汇编代码。C# dll 是不同类型的野兽:它们只是包含“即时”编译的 IL 文件,实际上,这种编译是通过一些操作系统技巧强制进行的。这就是反向 P/Invoke 根本不简单的原因。
\n| 归档时间: |
|
| 查看次数: |
3206 次 |
| 最近记录: |