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