Ole存储文件的单个Writer和多个读者

时间:2012-06-28 07:17:32

标签: visual-c++ ole

我有一个Ole存储文件,需要由编写者编写并由多个读者阅读。当我尝试使用CFile :: shareDenyWrite打开流时,它不会打开流。如果我使用shareEcxlusive但是我必须使存储文件共享独占,它将返回false.Stream正在打开。 有没有办法用一个编写器和多个读者打开OleStorage文件?

1 个答案:

答案 0 :(得分:0)

是的,但您应该使用StgOpenStorageEx来处理OleStorage文件而不是CFile。阅读有关STGM_DIRECT_SWMR(Single Writer Multiple Readers)的评论以获取更多信息: http://msdn.microsoft.com/en-us/library/windows/desktop/aa380342%28v=vs.85%29.aspx

在使用基于COM的函数之前,您需要确保已初始化COM(只需在InitInstance中添加AfxOleInit(),框架就会处理启动和关闭)。