BOOL HCR_GetDefaultIconW(LPCWSTR szClass, LPWSTR szDest, DWORD len, int* picon_idx) { static const WCHAR swDefaultIcon[] = {'\\','D','e','f','a','u','l','t','I','c','o','n',0}; HKEY hkey; WCHAR sTemp[MAX_PATH]; BOOL ret = FALSE; TRACE("%s\n",debugstr_w(szClass) ); lstrcpynW(sTemp, szClass, MAX_PATH); lstrcatW(sTemp, swDefaultIcon); if (!RegOpenKeyExW(HKEY_CLASSES_ROOT, sTemp, 0, KEY_READ, &hkey)) { ret = HCR_RegGetDefaultIconW(hkey, szDest, len, picon_idx); RegCloseKey(hkey); } if(ret) TRACE("-- %s %i\n", debugstr_w(szDest), *picon_idx); else TRACE("-- not found\n"); return ret; }
BOOL HCR_GetDefaultIconFromGUIDW(REFIID riid, LPWSTR szDest, DWORD len, int* picon_idx) { HKEY hkey; BOOL ret = FALSE; if (HCR_RegOpenClassIDKey(riid, &hkey)) { ret = HCR_RegGetDefaultIconW(hkey, szDest, len, picon_idx); RegCloseKey(hkey); } TRACE("-- %s %i\n", debugstr_w(szDest), *picon_idx); return ret; }