KDE 1.x has problems with using XShapeCombineMask when there was no
[wine/hacks.git] / dlls / shlwapi / reg.c
blob9e38a29edfe81bdf06472c5ce0f5417408eb2170
1 /*
2 * SHLWAPI registry functions
3 */
5 #include "windef.h"
6 #include "winerror.h"
7 #include "winreg.h"
8 #include "wine/undocshell.h"
9 #include "debugtools.h"
11 DEFAULT_DEBUG_CHANNEL(shell);
13 /*************************************************************************
14 * SHRegGetUSValueA [SHLWAPI.@]
16 * Gets a user-specific registry value
18 LONG WINAPI SHRegGetUSValueA(
19 LPCSTR pSubKey,
20 LPCSTR pValue,
21 LPDWORD pwType,
22 LPVOID pvData,
23 LPDWORD pbData,
24 BOOL fIgnoreHKCU,
25 LPVOID pDefaultData,
26 DWORD wDefaultDataSize)
28 FIXME("(%p),stub!\n", pSubKey);
29 return ERROR_SUCCESS; /* return success */
32 /*************************************************************************
33 * SHRegGetUSValueW [SHLWAPI.@]
35 * Gets a user-specific registry value
37 LONG WINAPI SHRegGetUSValueW(
38 LPCWSTR pSubKey,
39 LPCWSTR pValue,
40 LPDWORD pwType,
41 LPVOID pvData,
42 LPDWORD pbData,
43 BOOL flagIgnoreHKCU,
44 LPVOID pDefaultData,
45 DWORD wDefaultDataSize)
47 FIXME("(%p),stub!\n", pSubKey);
48 return ERROR_SUCCESS; /* return success */
51 /*************************************************************************
52 * SHRegGetBoolUSValueA [SHLWAPI.@]
54 BOOL WINAPI SHRegGetBoolUSValueA(
55 LPCSTR pszSubKey,
56 LPCSTR pszValue,
57 BOOL fIgnoreHKCU,
58 BOOL fDefault)
60 FIXME("%s %s\n", pszSubKey,pszValue);
61 return fDefault;
64 /*************************************************************************
65 * SHRegGetBoolUSValueW [SHLWAPI.@]
67 BOOL WINAPI SHRegGetBoolUSValueW(
68 LPCWSTR pszSubKey,
69 LPCWSTR pszValue,
70 BOOL fIgnoreHKCU,
71 BOOL fDefault)
73 FIXME("%s %s\n", debugstr_w(pszSubKey),debugstr_w(pszValue));
74 return fDefault;
77 /*************************************************************************
78 * SHRegQueryUSValueA [SHLWAPI]
80 LONG WINAPI SHRegQueryUSValueA(
81 HKEY/*HUSKEY*/ hUSKey,
82 LPCSTR pszValue,
83 LPDWORD pdwType,
84 void *pvData,
85 LPDWORD pcbData,
86 BOOL fIgnoreHKCU,
87 void *pvDefaultData,
88 DWORD dwDefaultDataSize)
90 FIXME("%s stub\n",pszValue);
91 return 1;
94 /*************************************************************************
95 * SHRegGetPathA [SHLWAPI.@]
97 DWORD WINAPI SHRegGetPathA(
98 HKEY hKey,
99 LPCSTR pcszSubKey,
100 LPCSTR pcszValue,
101 LPSTR pszPath,
102 DWORD dwFlags)
104 FIXME("%s %s\n", pcszSubKey, pcszValue);
105 return 0;
108 /*************************************************************************
109 * SHRegGetPathW [SHLWAPI.@]
111 DWORD WINAPI SHRegGetPathW(
112 HKEY hKey,
113 LPCWSTR pcszSubKey,
114 LPCWSTR pcszValue,
115 LPWSTR pszPath,
116 DWORD dwFlags)
118 FIXME("%s %s\n", debugstr_w(pcszSubKey), debugstr_w(pcszValue));
119 return 0;
122 /*************************************************************************
123 * SHGetValueA [SHLWAPI.@]
125 * Gets a value from the registry
127 DWORD WINAPI SHGetValueA(
128 HKEY hkey,
129 LPCSTR pSubKey,
130 LPCSTR pValue,
131 LPDWORD pwType,
132 LPVOID pvData,
133 LPDWORD pbData)
135 HKEY hSubKey;
136 DWORD res;
138 TRACE("(%s %s)\n", pSubKey, pValue);
140 if((res = RegOpenKeyA(hkey, pSubKey, &hSubKey))) return res;
141 res = RegQueryValueExA(hSubKey, pValue, 0, pwType, pvData, pbData);
142 RegCloseKey( hSubKey );
144 return res;
147 /*************************************************************************
148 * SHGetValueW [SHLWAPI.@]
150 * Gets a value from the registry
152 DWORD WINAPI SHGetValueW(
153 HKEY hkey,
154 LPCWSTR pSubKey,
155 LPCWSTR pValue,
156 LPDWORD pwType,
157 LPVOID pvData,
158 LPDWORD pbData)
160 HKEY hSubKey;
161 DWORD res;
163 TRACE("(%s %s)\n", debugstr_w(pSubKey), debugstr_w(pValue));
165 if((res = RegOpenKeyW(hkey, pSubKey, &hSubKey))) return res;
166 res = RegQueryValueExW(hSubKey, pValue, 0, pwType, pvData, pbData);
167 RegCloseKey( hSubKey );
169 return res;
172 /*************************************************************************
173 * SHSetValueA [SHLWAPI.@]
175 DWORD WINAPI SHSetValueA(
176 HKEY hkey,
177 LPCSTR pszSubKey,
178 LPCSTR pszValue,
179 DWORD dwType,
180 LPCVOID pvData,
181 DWORD cbData)
183 FIXME("(%s %s)stub\n",pszSubKey, pszValue);
184 return 1;
187 /*************************************************************************
188 * SHQueryValueExA [SHLWAPI.@]
191 HRESULT WINAPI SHQueryValueExA(
192 HKEY hkey,
193 LPSTR lpValueName,
194 LPDWORD lpReserved,
195 LPDWORD lpType,
196 LPBYTE lpData,
197 LPDWORD lpcbData)
199 TRACE("0x%04x %s %p %p %p %p\n", hkey, lpValueName, lpReserved, lpType, lpData, lpcbData);
200 return RegQueryValueExA (hkey, lpValueName, lpReserved, lpType, lpData, lpcbData);
204 /*************************************************************************
205 * SHQueryValueExW [SHLWAPI.@]
207 * FIXME
208 * if the datatype REG_EXPAND_SZ then expand the string and change
209 * *pdwType to REG_SZ.
211 HRESULT WINAPI SHQueryValueExW (
212 HKEY hkey,
213 LPWSTR pszValue,
214 LPDWORD pdwReserved,
215 LPDWORD pdwType,
216 LPVOID pvData,
217 LPDWORD pcbData)
219 WARN("0x%04x %s %p %p %p %p semi-stub\n",
220 hkey, debugstr_w(pszValue), pdwReserved, pdwType, pvData, pcbData);
221 return RegQueryValueExW ( hkey, pszValue, pdwReserved, pdwType, pvData, pcbData);
224 /*************************************************************************
225 * SHDeleteKeyA [SHLWAPI.@]
227 HRESULT WINAPI SHDeleteKeyA(
228 HKEY hkey,
229 LPCSTR pszSubKey)
231 FIXME("hkey=0x%08x, %s\n", hkey, debugstr_a(pszSubKey));
232 return 0;
235 /*************************************************************************
236 * SHDeleteKeyW [SHLWAPI.@]
238 HRESULT WINAPI SHDeleteKeyW(
239 HKEY hkey,
240 LPCWSTR pszSubKey)
242 FIXME("hkey=0x%08x, %s\n", hkey, debugstr_w(pszSubKey));
243 return 0;