Не удалось создать объект при передаче
rar (clsid = 23170F69-40C1-278A-1000-000110030000)
lzma sdk lzma1900 . тестирование dll (7zra.dll) компилируется vs2008 nmake in "lzma1900\CPP\7zip\Bundles\Format7zR".
Как скомпилировать lzma для извлечения файла .rar? любая идея высоко ценится.
все нормально, передавая 7z(23170F69-40C1-278A-1000-000110070000)
.
DEFINE_GUID(CLSID_CFormatRar,
0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x03, 0x00, 0x00);
#define kDllName "7zra.dll"
int MY_CDECL main(int numArgs, const char *args[])
{
NT_CHECK
NDLL::CLibrary lib;
if (!lib.Load(NDLL::GetModuleDirPrefix() + FTEXT(kDllName)))
{
PrintError("Can not load 7-zip library");
return 1;
}
Func_CreateObject createObjectFunc = (Func_CreateObject)lib.GetProc("CreateObject");
if (!createObjectFunc)
{
PrintError("Can not get CreateObject");
return 1;
}
//the code context extracts from lzma1900\CPP\7zip\UI\Client7z\Client7z.cpp
//always failed if set rar
CMyComPtr<IInArchive> archive;
if (createObjectFunc(&CLSID_CFormatRar, &IID_IInArchive, (void **)&archive) != S_OK)
{
PrintError("Can not get class object");
return 1;
}
//...
}