首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >32位计算机中的Adobe PDF IFilter

32位计算机中的Adobe PDF IFilter
EN

Stack Overflow用户
提问于 2012-12-21 14:55:51
回答 1查看 1.3K关注 0票数 0

我正在使用PDF IFilter 6.0在应用程序中索引PDF文件,并且得到以下异常:

代码语言:javascript
复制
System.AccessViolationException: 
Attempted to read or write protected memory. 
This is often an indication that other memory is corrupt.    

at EPocalipse.IFilter.IFilter.Init(IFILTER_INIT grfFlags, Int32 cAttributes, IntPtr aAttributes, IFILTER_FLAGS& pdwFlags)    
at EPocalipse.IFilter.FilterLoader.LoadAndInitIFilter(String fileName, String extension)
at EPocalipse.IFilter.FilterLoader.LoadAndInitIFilter(String fileName)    
at EPocalipse.IFilter.FilterReader..ctor(String fileName) 

我使用的是Win 7 32位机器。PDF IFilter能在win7上运行吗?

我的应用程序是多线程的,Ifilter可以和多线程一起工作吗?我也尝试过使用STAThread,但得到了相同的异常。我还尝试在实例化Reader时设置锁,但没有锁。

EN

回答 1

Stack Overflow用户

发布于 2012-12-22 00:35:44

你不能多线程的IFilter,它是为单线程设计的。

使用IFilter资源管理器了解哪个IFilter是STA:http://www.citeknet.com/Products/IFilters/IFilterExplorer/tabid/62/Default.aspx

如果你想让你的应用程序为其他过滤器保持多线程,你可以使用的解决方案是旋转一个专用于STA IFilters的线程,并在应用程序的生命周期中保留它。然后,您总是在同一线程中处理需要STA的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13985621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档