佚名通过本文主要向大家介绍了com2000故障,开机出现com文件夹,开机弹出com文件夹,.com文件,com文件夹等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 用com的符合文件操作,出现故障了
描述:
描述:
//创建stg文件,代码正确,已经成功了,但是用dfview.exe无法浏览
int main(int argc, char* argv[])
{
CoInitialize(NULL);
IStorage* pStr;
int nErrcode;
IStream* pStream;
HRESULT hr = StgCreateDocfile( L"test.stg", STGM_CREATE|STGM_READWRITE|STGM_SHARE_EXCLUSIVE, NULL, &pStr);
IStorage* pSub;
nErrcode=pStr->CreateStorage(L"SubStg",STGM_CREATE|STGM_WRITE|STGM_SHARE_EXCLUSIVE,0,0,&pSub);
nErrcode=hr = pSub->CreateStream( L"mcbStream", STGM_CREATE | STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &pStream );
ULONG name;
char data[] = "Mahesh testing " ;
nErrcode=pStream->Write( data, strlen(data), &name ) ;
CoUninitialize();
return 0;
}
/////////////////////////////////////////////////////////
//以下是读取的文件,我发现读取的时候,会出现问题-----------
int main(int argc, char* argv[])
{
CoInitialize(NULL);
IStorage* pStr,*pSub;
HRESULT hr = StgOpenStorage( L"D:\\c++\\dsdd\\dsdd\\test.stg", NULL, STGM_READWRITE | STGM_SHARE_EXCLUSIVE , NULL,0, &pStr);
pSub=NULL;
LONG nRet=0;
nRet=pStr->OpenStorage(L"SubStg",NULL, STGM_READWRITE | STGM_SHARE_EXCLUSIVE ,0,0,&pSub); //pSub死活为NULL,nRet返回值为80030002
IStream* pStream;
pStr->OpenStream(L"mcbStream",NULL, STGM_READ | STGM_SHARE_EXCLUSIVE ,0,&pStream);
int nErrcode= GetLastError();
ULONG name;
char data[] = "Mahesh testing " ;
ULONG readbytes=0;
pStream->Read(data,5,&readbytes);
CoUninitialize();
return 0;
}
//
// MessageId: STG_E_FILENOTFOUND
//
// MessageText:
//
// %1 could not be found.
//
#define STG_E_FILENOTFOUND _HRESULT_TYPEDEF_(0x80030002L) //STG_E_FILENOTFOUND
The storage object with the specified name does not exist.