结构化存贮问题

WQ 2002-03-12 11:14:33
HRESULT hr;
IRoot=NULL;
pEnum=NULL;
pStream=NULL;
try{
hr=::StgCreateDocfile(_bstr_t("NoteUser.IFO"),
STGM_READWRITE|STGM_SHARE_EXCLUSIVE,
0,&IRoot);
if(FAILED(hr))
{
if(hr==STG_E_FILEALREADYEXISTS)
{
hr=::StgOpenStorage(_bstr_t("NoteUser.IFO"),NULL,
STGM_READWRITE|STGM_SHARE_DENY_NONE|STGM_DIRECT,
NULL,0,&IRoot);
if(FAILED(hr)) _com_raise_error( hr );
}else
{
_com_raise_error(hr);
}
}
//
IStream *p;
hr=IRoot->CreateStream(_bstr_t("wei"),
STGM_CREATE|STGM_READWRITE,0,0,&p);
if(FAILED(hr)) _com_raise_error( hr );
//
}catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
出错
名字 %1 无效
...全文
37 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwg7603 2002-03-12
  • 打赏
  • 举报
回复
不应该呀!是不是你的当前路径中含有中文字符呀,明确指定英文文件路径试试:L"c:\\NoteUser"。
WQ 2002-03-12
  • 打赏
  • 举报
回复
HRESULT hr;
LPSTORAGE IRoot;
try{
hr=::StgOpenStorage(L"NoteUser",NULL,
STGM_READWRITE|STGM_SHARE_EXCLUSIVE|STGM_DIRECT,
NULL,0,&IRoot);
if(FAILED(hr)) _com_raise_error( hr );
IStream *p;
hr=IRoot->CreateStream(OLESTR("wei"),
0,STGM_CREATE|STGM_READWRITE|STGM_SHARE_EXCLUSIVE
,0,&p);
if(FAILED(hr)) _com_raise_error( hr );
//
}catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
还是出错,open就错了
是不一致的属性函数
WQ 2002-03-12
  • 打赏
  • 举报
回复
HRESULT hr;
LPSTORAGE IRoot;
try{
hr=::StgOpenStorage(L"NoteUser",NULL,
STGM_READWRITE|STGM_SHARE_EXCLUSIVE|STGM_DIRECT,
NULL,0,&IRoot);
if(FAILED(hr)) _com_raise_error( hr );
IStream *p;
hr=IRoot->CreateStream(OLESTR("wei"),
0,STGM_CREATE|STGM_READWRITE|STGM_SHARE_EXCLUSIVE
,0,&p);
if(FAILED(hr)) _com_raise_error( hr );
//
}catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
还是出错,open就错了
是不一致的属性函数
lwg7603 2002-03-12
  • 打赏
  • 举报
回复
可能是"模式"的问题?改成下面的代码试试:
1。
hr=::StgCreateDocfile(OLESTR("NoteUser.IFO"),
STGM_READWRITE|STGM_SHARE_EXCLUSIVE|STGM_CREATE,
0,&IRoot);

2。
hr=::StgOpenStorage(OLESTR("NoteUser.IFO"),NULL,
STGM_READWRITE|STGM_SHARE_EXCLUSIVE|STGM_DIRECT,
NULL,0,&IRoot);


3。
hr=IRoot->CreateStream(OLESTR("wei"),
STGM_CREATE|STGM_READWRITE|STGM_SHARE_EXCLUSIVE,0,0,&p);


linghuye 2002-03-12
  • 打赏
  • 举报
回复
STGM_READWRITE|STGM_SHARE_DENY_NONE|STGM_DIRECT
绝对不可能的使用方法,
STGM_SHARE_DENY_NONE -> STGM_SHARE_EXCLUSIVE

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧