请问指定STGM_SIMPLE来创建的IStorage,如何创建IStream呢?

idoloveyou 2007-09-18 12:49:01
IStoragePtr pStg = NULL;
HRESULT hr = StgCreateStorageEx(_T("c:\\teststorage.dat"), STGM_SIMPLE | STGM_CREATE | STGM_READWRITE | STGM_SHARE_EXCLUSIVE,
STGFMT_DOCUMENT, 0, NULL, NULL, IID_IStorage, (void**) &pStg);
IStreamPtr pStm = NULL;
hr = pStg->CreateStream(_T("a"), STGM_CREATE | STGM_SIMPLE | STGM_SHARE_EXCLUSIVE, 0, 0, &pStm);

代码很简单,就是个测试,但是CreateStream无论如何返回值都是说grfMode错误,那几个常量怎么组合也不行,请问哪位有经验可以说说到底如何创建Stream啊……
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
步履人生 2008-01-05
  • 打赏
  • 举报
回复
试试
STGM_WRITE|STGM_CREATE|STGM_SHARE_EXCLUSIVE
huzs_82 2007-09-18
  • 打赏
  • 举报
回复
"msdn上能看得东西都看了,还是没有我说的东西……"
真有这么强??
MSDN上找不到的东西,那么一般人就想都甭想知道了.
其实这些使用的方法有99%以上的都能在MSDN中可以找到.
自己再仔细找找吧,毕竟这些东西都出自于微软之手,没有他的文档别人根本就不可能会用.
idoloveyou 2007-09-18
  • 打赏
  • 举报
回复
msdn上能看得东西都看了,还是没有我说的东西……

STGFMT_DOCUMENT和STGFMT_STORAGE没什么影响,我都试过了
dyw 2007-09-18
  • 打赏
  • 举报
回复
看看这里的说明(未见STGFMT_DOCUMENT)
http://msdn2.microsoft.com/en-us/library/aa380330.aspx

A sample (not STGM_SIMPLE)
http://msdn2.microsoft.com/en-us/library/Aa362364.aspx

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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