STDMETHODIMP CArchiveFolderManager::GetIconPath(const wchar_t *ext, BSTR *iconPath, Int32 *iconIndex) { LoadFormats(); *iconPath = 0; *iconIndex = 0; for (int i = 0; i < _codecs->Libs.Size(); i++) { const CCodecLib &lib = _codecs->Libs[i]; int ii; if (lib.FindIconIndex(ext, ii)) { *iconIndex = ii; return StringToBstr(GetUnicodeString(lib.Path, GetCurrentFileCodePage()), iconPath); } } int ii; if (_codecs->InternalIcons.FindIconIndex(ext, ii)) { *iconIndex = ii; UString path; NWindows::NDLL::MyGetModuleFileName(g_hInstance, path); return StringToBstr(path, iconPath); } return S_OK; }
STDMETHODIMP CArchiveFolderManager::GetIconPath(const wchar_t *ext, BSTR *iconPath, Int32 *iconIndex) { LoadFormats(); *iconPath = 0; *iconIndex = 0; for (int i = 0; i < _codecs->Libs.Size(); i++) { const CCodecLib &lib = _codecs->Libs[i]; int ii = lib.FindIconIndex(ext); if (ii >= 0) { *iconIndex = ii; return StringToBstr(GetUnicodeString(lib.Path, GetCurrentFileCodePage()), iconPath); } } return S_OK; }