C++开发ActiveX控件从本地文件(.doc)创建IStorage然后创建ISteam,最后从流中读取数据到char*缓冲区,不知为何无法读出,请高手帮忙!代码如下:
其中:pwszName为任意宽字符串
      test.doc存在
      char*             m_charFMsgFile
      ULONG             ulReadLen
      IStorage          *mstgroot = NULL;          
      IStream           *mFStream = NULL;// 创建一个存储对象...
    
if ((mstgroot) || FAILED(hr = StgCreateDocfile(L"c:\\test.doc",STGM_TRANSACTED | STGM_READWRITE |
STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_DELETEONRELEASE, 0, &mstgroot)))
return hr;
 // 创建流对象
if (pwszName != NULL)
{
if((mFStream)||FAILED(mstgroot->CreateStream(pwszName,
STGM_DIRECT | STGM_READWRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &mFStream)))
return hr;
MemFree(pwszName);

}
 //将流读入缓冲区
if(mFStream != NULL)
{
    mFStream->Read(this ->m_charFMsgFile,1024000,&ulReadLen);
}
m_charFMsgFile到这里为空字符串