如何在非托管c++ dll中查找调用者程序集名称

2024-01-05

我有一个非托管 c++ dll。我正在从 c# (.net 3.5) 调用此非托管 dll 的外部方法

我正在寻找一种方法来找到女巫 c# 程序集正在调用我的非托管 c++ dll(进入我的 c++ dll)(至少是程序集的名称)

当然,我不想将任何附加参数传递给方法.

提前致谢


这需要堆栈遍历。在托管代码中运行良好,这就是代码访问安全性的实现方式。做not当有本机堆栈帧需要遍历时,工作得非常好。您可以在本机代码中尝试 StackWalk64()。价格昂贵,而且效果不太好,特别是在 .NET 4.0 中,CLR 不再伪造模块。是very警惕帧指针省略优化选项。

我想说,不要这样做。只需让托管代码传递一个额外的参数,解决问题就容易得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在非托管c++ dll中查找调用者程序集名称 的相关文章

  • 为什么我们不在函数中通过引用传递 POD?

    我总是被告知我们不应该通过引用传递 POD 但最近我发现引用实际上根本不占用内存 那么为什么我们选择这样写 void DoSomething int iNumber 代替 void DoSomething const int riNumbe
  • 有没有办法强制“任何 CPU”编译的应用程序在 64 位操作系统上以 32 位模式运行?

    如果我有一个 任何 CPU 编译的 NET 应用程序 它将在 64 位操作系统上以 64 位模式运行 但是 如果我出于某种原因想要强制此应用程序以 32 位模式运行 就好像它是使用 x86 编译的 重新编译不是一个选项 那么这可以在运行时配
  • SQL Server 存储过程更新不适用于 ASP.Net C# GridView RowUpdating

    我遇到了问题 但没有抛出任何错误 发生的情况是 我有一个存储过程正在驱动我的更新 但我无法更新 gridview 我击中了Update链接按钮 但它实际上并没有更新记录 这是我的存储过程 ALTER PROCEDURE dbo CompDe
  • 使用实体框架的子查询

    我正在移植一个子系统NHibernate to 实体框架并希望了解将以下查询移植到的最佳方法EF var date DateTime Now It can be any day AccountBalanceByDate abbd null
  • 如何使用 IComparable 接口?

    我需要一个如何使用的基本示例IComparable接口 以便我可以按升序或降序以及要排序的对象类型的不同字段进行排序 好吧 既然你正在使用List
  • LINQ 中的日期差异逻辑

    我尝试从两个不同的数据库表访问数据 然后使用 C 中的 LINQ 将它们连接到两个字段上 我相信我有一个逻辑合理的整体工作方法 我遇到的部分问题是 我在连接两个表之前过滤了它们的数据 因为这些表的数据太多 会导致崩溃 主要问题是 对于其中一
  • 如何用C++读取UTF-8文件数据?

    我有一个清单IPA https en wikipedia org wiki International Phonetic Alphabet名为 ipa txt 的文本文件中的 UTF 8 符号并为其分配了数字 如何将它与源文件交叉引用 该源
  • 计算数组中共线的三元组的数量

    我被问到这个面试问题 C 算法 但不知道如何解决 给定一个包含 N 个不同点的笛卡尔坐标的数组 Arr N 计算三元组 Arr P Arr Q Arr R 的数量 使得 P 有任何想法吗 我可以为此使用什么算法 以下内容可能没有优化 但其复
  • 尝试更新 datagridview 时界面冻结

    我正在使用下面的代码复制文件并将状态列设置为datagridview通知用户连接已建立 但是当我按下按钮执行时 方法界面冻结 我已经搜索了很多我知道使用task run 不可能 因为它不包含在 not 4这是一个新功能 net 4 5我也知
  • 使用 MEF 从 shell 加载棱镜模块视图

    我有一个 shell 项目 它将引导程序中的模块加载到 shell 主视图中的选项卡控件中 我刚刚在选项卡项上实现了一个关闭按钮 现在提出了如何从 shell 重新加载模块视图的问题 尝试使用 moduleManager LoadModul
  • DockPanel Suite - DockContent 可见性

    表单包含一个带有 DockContent 实例的 DockPanel 该实例具有 DockState DockState DockBottomAutoHide 并且它充当记录器视图 就像 Visual Studio 的错误列表面板 因此 当
  • 在哪里可以找到好的 C++ 源代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在学习 C 作为第一语言 我觉得如果我不尽快开始查看实际代码 我的学习就会达到天花板 我不是通过课
  • 使用 C# 强制本地用户在下次登录时更改密码

    我正在为 ASP NET 中的 Web 应用程序编写一个函数 其中客户端登录到服务器计算机 该服务器计算机是针对服务器上的本地用户进行 Windows 身份验证的 我正在编写的函数会重置用户密码并通过电子邮件向他们发送新密码 我这样做 St
  • 多次使用属性时的性能考虑

    我在用CultureInfo CurrentCulture当使用格式化我的字符串时string format 去引用这个博客 http goatly spaces live com Blog cns ED869F22AB5C24A8 171
  • 如何安全地完成一个线程中的映射操作,而不使另一个线程中的迭代器无效?

    我有两个线程在共享地图上运行 一个线程 名为线程 1 不断向映射中插入对 另一个线程 名为线程 2 不断获取映射的第一个元素 对该元素执行一些操作 最后将其从映射中删除 在线程 1 插入元素后 线程 2 所操作的元素是否恰好位于映射的开头并
  • 如何将 MVC 操作参数重新映射到另一个参数名称?

    我必须实现一个像这样调用的 MVC 操作 http address Controller MyAction resName name 它由第三方调用 并通过硬编码传递resName 所以天真的方法是采取这样的行动 ActionResult
  • 实体框架:Detach 和 AsNoTracking 之间的区别

    我的目标是复制现有实体 稍微修改它 然后插入修改后的版本 我尝试了两种不同的方法 似乎都有效 var thing context Things Where x gt x SomeID someid AsNoTracking Single t
  • 工具提示气球在 5 秒后消失

    我将属性 AutoPopDelay 设置为 60000 但每次我将鼠标悬停在关联元素上时 即使鼠标指针在元素上保持静止 气球也只会保持打开状态 5 秒 关于可能导致这种情况的原因有什么想法吗 编辑 我正在使用 WinForms 稍微使用一下
  • 如何检查字节数组是否为空?

    我正在下载word文件GetSourceAttachment方法 当此方法返回空字节时 我的字节Attachment数组给出错误 对象引用未设置对象实例 当我检查长度时它给出错误Attachment in if健康 状况 任何人都可以帮我默
  • vscode 中没有 c_cpp_properties.json 文件

    前段时间开始在vscode中学习cpp 我不会再讨论它 但我不知道如何编译 运行程序 并且我正在观看的每个教程都说我必须将路径从 MinGW 文件夹复制并粘贴到 c cpp properties json 中的路径 但在我的 vscode

随机推荐