仅从特定的dot-net程序集执行c++dll调用
Execute a c++ dll call only from a specific dot net assembly
我有一个dotnet应用程序,我必须从中调用一个c++dll。现在我想锁定C++dll,这样只有C#应用程序才能调用它,它不会为其他任何事情工作。。。曾经有办法做到这一点吗?
我有一个主意,但我不确定这是否可能。我有代码签名证书,这样我就可以对我的应用程序进行签名,并将应用程序句柄传递给dll,然后从由我签名的句柄中检查证书,以便我调用执行dll或停止它并返回。
有什么建议吗。
这个MSDN链接可能有你想要的,但我还没有尝试以你想要的方式使用它。
http://msdn.microsoft.com/en-us/library/System.Reflection.Assembly%28v=vs.110%29.aspx
Assembly类具有GetExecutingAssembly
、GetCallingAssembly
和GetEntryAssembly
等出色的方法。我认为,按照Assembly::GetExecutingAssembly()->GetCallingAssebmly()->FullName
的思路做一些事情。。。这可能不是一个合适的c++代码,但你可能可以看到我的意图。(我专门研究C#,它的语法略有不同(
相关文章:
- 程序在执行程序的其余部分之前退出
- 内联程序集printf将整数解释为地址
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 具有外部"c"和程序集的未定义函数
- 用于将C++代码转换为 Web 程序集的脚本未终止
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 简单C++"Hello World"程序的执行时间长
- CoreCLR 中的检测探查器 - 将帮助程序程序集加载到 dotnet 进程的方法
- 不同于按值传递和常量引用传递的程序集
- 为什么在堆栈和堆上创建变量会产生相同的程序集代码?
- C++变量在调用 x64 程序集函数后重置为 0
- 为什么我的信号处理程序只执行一次?
- 如何将C++子例程链接到 x86 程序集程序?
- 测试操作系统时执行程序集"sti"时虚拟框崩溃
- 是什么将程序集转换为实际可执行的材料
- 在链接的程序集文件中,我想从 c++ 调用代码访问变量.是否可以在不触发访问冲突的情况下执行此操作?
- 如何获取当前正在执行的程序集的路径
- 在已编译的可执行文件的.text部分中增加或指定间隙,以手动添加程序集代码
- 生成程序集文件,然后编译成可执行文件
- 仅从特定的dot-net程序集执行c++dll调用