ライターが書き込み、複数のリーダーが読み取る必要がある Ole ストレージ ファイルがあります。CFile::shareDenyWrite でストリームを開こうとすると、ストリームが開かれません。false を返しています。shareEcxlusive を使用するとストリームが開いていますが、ストレージ ファイルを排他的に共有する必要があります。1 つのライターと複数のリーダーで OleStorage ファイルを開く方法はありますか?
質問する
236 次
1 に答える
0
はい。ただし、CFile ではなく OleStorage ファイルを操作するには、StgOpenStorageEx を使用する必要があります。詳細については、STGM_DIRECT_SWMR (Single Writer Multiple Readers) に関するコメントをお読み ください。
COM ベースの関数を使用する前に、COM を初期化したことを確認する必要があります (InitInstance に AfxOleInit() を追加するだけで、フレームワークが起動とシャットダウンを処理します)。
于 2012-07-11T18:44:03.937 に答える