1

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

4

1 回答 1

0

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

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

于 2012-07-11T18:44:03.937 回答