为什么在创建复合文档的时候,标志位里面必须指定一个SHARE属性?
我只是要创建一个复合文档,如下的代码,运行的时候就会有ASSERT错误:
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
IStorage* pStgOpen;
DWORD grfMode = STGM_WRITE | STGM_CREATE;
HRESULT ret=StgCreateDocfile(L"d:\\self\\Learn\\doc1.stg",grfMode,DWORD(),&pStgOpen);
ASSERT(SUCCEEDED(ret));
return 0;
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
IStorage* pStgOpen;
DWORD grfMode = STGM_WRITE | STGM_CREATE | STGM_SHARE_EXCLUSIVE;
HRESULT ret=StgCreateDocfile(L"d:\\self\\Learn\\doc1.stg",grfMode,DWORD(),&pStgOpen);
ASSERT(SUCCEEDED(ret));
return 0;
}