繁体   English   中英

从访问冲突异常中恢复

[英]Recover From Access Violation Exception

我正在使用EZTwain(非托管dll)来处理一些PDF。 我知道它只能读取它创建的PDF。 不幸的是,在现实世界中,它遇到了由其他库创建的PDF。 这将导致它失败并抛出AccessViolationException。

由于我的C#应用​​程序仍在继续发展,因此这本身并不是一个大问题。 不幸的是,当下一个涉及此文件并尝试对其进行重新处理时,它仍处于锁定状态。 大概EZTwain仍在加载...我不知道处于什么状态-但已被留下文件锁定。

无论如何,我是否可以强制DLL卸载并因此释放文件上的锁(P / Invoke调用或其他)?

如果我可以实现此目标,则可以第二次跳过EZTwain的使用。

干杯

[更新]

我尝试调用LoadLibrary,捕获访问冲突异常,然后捕获FreeLibrary,但我的文件仍被锁定。

我已经检查过Process Explorer:DLL肯定已被卸载,但文件仍处于锁定状态。

(看起来我将不得不使用应用程序域或单独的Exe建议)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM