0

当我的插件 DLL 加载到主机应用程序的地址空间时,我需要将一些数据写入文件。问题是,在那个时间点,这个文件已经被具有独占写访问权限的主机进程打开了,我的调用CreateFile失败了ERROR_SHARING_VIOLATION

我想知道,我能否以某种方式使用 WinAPI 调用从主机进程获取文件句柄?这看起来是个糟糕的主意,但我真的需要写入那个文件。有人对如何解决这个问题有什么好主意吗?

4

1 回答 1

1

可以通过NtQueryInformationProcess和/或枚举打开的句柄NtQuerySystemInformation,但它不受官方支持(您可以通过 Google 轻松找到非 Microsoft 文档)并且可能无法在未来版本的 Windows 中使用。

于 2012-06-27T18:59:11.410 回答