Changed // comments to /* */ so WINE compiles with non-gcc compilers
[wine] / dlls / shell32 / classes.c
1 /*
2  *      file type mapping 
3  *      (HKEY_CLASSES_ROOT - Stuff)
4  *
5  *
6  */
7 #include <stdlib.h>
8 #include <string.h>
9 #include "debug.h"
10 #include "shlobj.h"
11 #include "shell.h"
12 #include "winerror.h"
13 #include "commctrl.h"
14
15 #include "shell32_main.h"
16
17 BOOL32 HCR_MapTypeToValue ( LPCSTR szExtension, LPSTR szFileType, DWORD len)
18 {       HKEY    hkey;
19
20         TRACE(shell, "%s %p\n",szExtension, szFileType );
21
22         if (RegOpenKeyEx32A(HKEY_CLASSES_ROOT,szExtension,0,0x02000000,&hkey))
23         { return FALSE;
24         }
25
26         if (RegQueryValue32A(hkey,NULL,szFileType,&len))
27         { RegCloseKey(hkey);
28           return FALSE;
29         }       
30
31         RegCloseKey(hkey);
32
33         TRACE(shell, "-- %s\n", szFileType );
34
35         return TRUE;
36 }
37 BOOL32 HCR_GetExecuteCommand ( LPCSTR szClass, LPCSTR szVerb, LPSTR szDest, DWORD len )
38 {       HKEY    hkey;
39         char    sTemp[256];
40         
41         TRACE(shell, "%s %s\n",szClass, szVerb );
42
43         sprintf(sTemp, "%s\\shell\\%s\\command",szClass, szVerb);
44
45         if (RegOpenKeyEx32A(HKEY_CLASSES_ROOT,sTemp,0,0x02000000,&hkey))
46         { return FALSE;
47         }
48
49         if (RegQueryValue32A(hkey,NULL,szDest,&len))
50         { RegCloseKey(hkey);
51           return FALSE;
52         }       
53         RegCloseKey(hkey);
54
55         TRACE(shell, "-- %s\n", szDest );
56
57         return TRUE;
58
59 }
60 /***************************************************************************************
61 *       HCR_GetDefaultIcon      [internal]
62 *
63 * Gets the icon for a filetype
64 */
65 BOOL32 HCR_GetDefaultIcon (LPCSTR szClass, LPSTR szDest, DWORD len, LPDWORD dwNr)
66 {       HKEY    hkey;
67         char    sTemp[256];
68         char    sNum[5];
69
70         TRACE(shell, "%s\n",szClass );
71
72         sprintf(sTemp, "%s\\DefaultIcon",szClass);
73
74         if (RegOpenKeyEx32A(HKEY_CLASSES_ROOT,sTemp,0,0x02000000,&hkey))
75         { return FALSE;
76         }
77
78         if (RegQueryValue32A(hkey,NULL,szDest,&len))
79         { RegCloseKey(hkey);
80           return FALSE;
81         }       
82
83         RegCloseKey(hkey);
84
85         if (ParseField32A (szDest, 2, sNum, 5))
86         { *dwNr=atoi(sNum);
87         }
88         
89         ParseField32A (szDest, 1, szDest, len);
90         
91         TRACE(shell, "-- %s %li\n", szDest, *dwNr );
92
93         return TRUE;
94
95 }
96