Пытаюсь разобратся с IMAPI ,и сразу же столкнулся с непонятной ошибкой. Код (Text): int _tmain(int argc, _TCHAR* argv[]) { HRESULT hr=0; IDiscMaster *pDiskMaster; hr = CoCreateInstance(CLSID_MSDiscMasterObj, NULL,CLSCTX_LOCAL_SERVER, IID_IDiscMaster, (void**)&pDiskMaster); if(hr!=S_OK){printf("%X",hr);getch();} //pDiskMaster->Open(); return 0; } Функция CoCreateInstance возращяет какое то непонятное число неописаное в мсдн,а именно 800401F0 Подскажите какую оно означает ошибку.
Немогу понять что за ошибка Код (Text): int _tmain(int argc, _TCHAR* argv[]) { ULONG fet;int i=0; HRESULT hr=0; IDiscMaster *pDiskMaster= NULL; CoInitialize(NULL); hr = CoCreateInstance(CLSID_MSDiscMasterObj,NULL,CLSCTX_LOCAL_SERVER,IID_IDiscMaster,(PVOID*)&pDiskMaster); if(hr!=S_OK){printf("%X",hr);getch();} pDiskMaster->Open(); IEnumDiscRecorders* recordersEnum; IDiscRecorder* pRecorder; hr = pDiskMaster->EnumDiscRecorders(&recordersEnum); char dbcc_name[1024];char* buf; memset(dbcc_name,NULL,1024); ULONG ulReturnSizeRequired; BSTR bstrVendorID=NULL, bstrProductID, bstrRevision; for(;;) { recordersEnum->Next(1,&pRecorder,&fet);i++; cout<<dbcc_name; if(!pRecorder){break;} pRecorder->GetRecorderGUID((byte*)dbcc_name,1024,&ulReturnSizeRequired); hr=pRecorder->GetDisplayNames(&bstrVendorID,&bstrProductID,&bstrRevision); //cout<<_com_util::ConvertBSTRToString(bstrVendorID)<<endl; if(hr!=S_OK){printf("%X",hr);getch();} buf=_com_util::ConvertBSTRToString(bstrVendorID); cout<<buf; } //cout<<i<<dbcc_name; getch(); return 0; } Вылет когда обращяюсь к bstrVendorID.Скорей всего там пусто.А значение которое возвращяет pRecorder->GetDisplayNames (С0000005) errlook ненаходит В чем может быть дело???
Почему же тогда вылет программы непроисходит на строчке hr=pRecorder->GetDisplayNames(&bstrVendorID,&bstrProductID,&bstrRevision); ?