New HCR_GetDefaultIcon (internal).
diff --git a/dlls/shell32/classes.c b/dlls/shell32/classes.c
index c260296..2acab33 100644
--- a/dlls/shell32/classes.c
+++ b/dlls/shell32/classes.c
@@ -14,7 +14,7 @@
#include "shell32_main.h"
-BOOL32 WINAPI HCR_MapTypeToValue ( LPSTR szExtension, LPSTR szFileType, DWORD len)
+BOOL32 HCR_MapTypeToValue ( LPSTR szExtension, LPSTR szFileType, DWORD len)
{ HKEY hkey;
TRACE(shell, "%s %p\n",szExtension, szFileType );
@@ -34,7 +34,7 @@
return TRUE;
}
-BOOL32 WINAPI HCR_GetExecuteCommand ( LPCSTR szClass, LPCSTR szVerb, LPSTR szDest, DWORD len )
+BOOL32 HCR_GetExecuteCommand ( LPCSTR szClass, LPCSTR szVerb, LPSTR szDest, DWORD len )
{ HKEY hkey;
char sTemp[256];
@@ -57,4 +57,40 @@
return TRUE;
}
+/***************************************************************************************
+* HCR_GetDefaultIcon [internal]
+*
+* Gets the icon for a filetype
+*/
+BOOL32 HCR_GetDefaultIcon (LPCSTR szClass, LPSTR szDest, DWORD len, LPDWORD dwNr)
+{ HKEY hkey;
+ char sTemp[256];
+ char sNum[5];
+
+ TRACE(shell, "%s\n",szClass );
+
+ sprintf(sTemp, "%s\\DefaultIcon",szClass);
+
+ if (RegOpenKeyEx32A(HKEY_CLASSES_ROOT,sTemp,0,0x02000000,&hkey))
+ { return FALSE;
+ }
+
+ if (RegQueryValue32A(hkey,NULL,szDest,&len))
+ { RegCloseKey(hkey);
+ return FALSE;
+ }
+
+ RegCloseKey(hkey);
+
+ if (ParseField32A (szDest, 2, sNum, 5))
+ { *dwNr=atoi(sNum);
+ }
+
+ ParseField32A (szDest, 1, szDest, len);
+
+ TRACE(shell, "-- %s %li\n", szDest, *dwNr );
+
+ return TRUE;
+
+}