I did some research. I was able to debug and compare working and not working files to find out differences. The reason IFilter fails on XlsLib files is that IStorage::Stat does not fill CLSID as {00020820-0000-0000-c000-000000000046}, but leaves it NULL. See screenshots. Minimal reproduction sample: HRESULT hr = S_OK; IStorage *pStg = NULL; hr = StgOpenStorageEx(rgwszArgs[1], STGM_READ | STGM_SHARE_DENY_WRITE, STGFMT_ANY, 0, NULL, NULL, IID_IStorage, reinterpret_cast<void**>(&pStg)); STATSTG stat...
Unable to open XLS files save by xlsLib using MS Office IFilter (Windows search)