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;
+
+}