source: trunk/src/shell32/misc.cpp@ 4082

Last change on this file since 4082 was 4082, checked in by sandervl, 25 years ago

update

File size: 10.2 KB
Line 
1/* $Id: misc.cpp,v 1.9 2000-08-24 09:35:06 sandervl Exp $ */
2
3/*
4 * Win32 SHELL32 for OS/2
5 * 1998/06/15 Patrick Haller (haller@zebra.fh-weingarten.de)
6 * Copyright 1997 Marcus Meissner
7 * Copyright 1988 Patrick Haller (adapted for win32os2)
8 * Project Odin Software License can be found in LICENSE.TXT
9 *
10 */
11
12
13/*****************************************************************************
14 * Includes *
15 *****************************************************************************/
16
17#include <odin.h>
18#include <odinwrap.h>
19#include <os2sel.h>
20
21#include <wchar.h>
22#include <wcstr.h>
23
24#define ICOM_CINTERFACE 1
25
26//#include <os2win.h>
27#include <shellapi.h>
28#include <winnls.h>
29#include "shell32_main.h"
30#include "wine/undocshell.h"
31#include <misc.h>
32//#include <string.h>
33//#include "winbase.h"
34#include <heapstring.h>
35
36
37/*****************************************************************************
38 * Types & Defines *
39 *****************************************************************************/
40
41ODINDEBUGCHANNEL(SHELL32-MISC)
42
43
44BOOL SHELL_OsIsUnicode(void)
45{
46 static version = 0;
47
48 if(version == 0) {
49 version = GetVersion();
50 }
51 /* if high-bit of version is 0, we are emulating NT */
52 return !(version & 0x80000000);
53}
54
55/*****************************************************************************
56 * Name : ExtractAssociatedIconExA
57 * Purpose : Return icon for given file (either from file itself or from associated
58 * executable) and patch parameters if needed.
59 * Parameters: ???
60 * Variables :
61 * Result :
62 * Remark : SHELL.150
63 * Status : UNTESTED UNKNOWN STUB
64 *
65 * Author : Christoph Bratschi [Fri, 1999/08/6 20:00]
66 *****************************************************************************/
67
68ODINFUNCTION3(HICON, ExtractAssociatedIconExA,
69 HINSTANCE, hInst,
70 LPSTR, lpIconPath,
71 LPWORD, lpiIcon)
72{
73 dprintf(("SHELL32: undoc ExtractAssociatedIconExA\n"));
74
75 return ExtractAssociatedIconA(hInst,lpIconPath,lpiIcon);
76}
77
78/*****************************************************************************
79 * Name : ExtractAssociatedIconW
80 * Purpose : Return icon for given file (either from file itself or from associated
81 * executable) and patch parameters if needed.
82 * Parameters:
83 * Variables :
84 * Result :
85 * Remark : SHELL.36
86 * Status : UNTESTED STUB
87 *
88 * Author : Patrick Haller [Sat, 1998/07/11 11:55]
89 *****************************************************************************/
90
91ODINFUNCTION3(HICON, ExtractAssociatedIconW,
92 HINSTANCE, hInst,
93 LPWSTR, lpIconPath,
94 LPWORD, lpiIcon)
95{
96 LPSTR lpIconPathAscii = UnicodeToAsciiString(lpIconPath);
97 HICON hIcon;
98
99 hIcon = ExtractAssociatedIconA(hInst,
100 lpIconPathAscii,
101 lpiIcon);
102
103 FreeAsciiString(lpIconPathAscii);
104
105 return (hIcon);
106}
107
108/*****************************************************************************
109 * Name : ExtractAssociatedIconExW
110 * Purpose : Return icon for given file (either from file itself or from associated
111 * executable) and patch parameters if needed.
112 * Parameters: ???
113 * Variables :
114 * Result :
115 * Remark : SHELL.186
116 * Status : UNTESTED UNKNOWN STUB
117 *
118 * Author : Christoph Bratschi [Fri, 1999/08/6 20:00]
119 *****************************************************************************/
120
121ODINFUNCTION3(HICON, ExtractAssociatedIconExW,
122 HINSTANCE, hInst,
123 LPWSTR, lpIconPath,
124 LPWORD, lpiIcon)
125{
126 dprintf(("SHELL32: undoc ExtractAssociatedIconExW\n"));
127
128 return ExtractAssociatedIconW(hInst,lpIconPath,lpiIcon);
129}
130
131
132/*****************************************************************************
133 * Name : OleStrToStrN
134 * Purpose :
135 * Parameters:
136 * Variables :
137 * Result :
138 * Remark : SHELL32.78
139 * Status : UNTESTED UNKNOWN STUB
140 *
141 * Author : Patrick Haller [Tue, 1998/06/15 03:00]
142 *****************************************************************************/
143
144ODINFUNCTION4(BOOL, OleStrToStrN,
145 LPSTR, lpMulti,
146 INT, nMulti,
147 LPCWSTR, lpWide,
148 INT, nWide)
149{
150 return WideCharToMultiByte (0,
151 0,
152 lpWide,
153 nWide,
154 lpMulti,
155 nMulti,
156 NULL,
157 NULL);
158}
159
160
161/*****************************************************************************
162 * Name : StrToOleStrN
163 * Purpose :
164 * Parameters:
165 * Variables :
166 * Result :
167 * Remark : SHELL32.79
168 * Status : UNTESTED UNKNOWN STUB
169 *
170 * Author : Patrick Haller [Tue, 1998/06/15 03:00]
171 *****************************************************************************/
172
173ODINFUNCTION4(BOOL, StrToOleStrN,
174 LPWSTR, lpWide,
175 INT, nWide,
176 LPCSTR, lpMulti,
177 INT, nMulti)
178{
179 return MultiByteToWideChar (0,
180 0,
181 lpMulti,
182 nMulti,
183 lpWide,
184 nWide);
185}
186
187
188/*****************************************************************************
189 * Name : SHELL32_654
190 * Purpose :
191 * Parameters:
192 * Variables :
193 * Result :
194 * Remark : SHELL32.654
195 * Status : UNTESTED UNKNOWN STUB
196 *
197 * Author : Patrick Haller [Tue, 1998/06/15 03:00]
198 *****************************************************************************/
199
200ODINFUNCTION2(HRESULT, SHELL32_654,
201 DWORD, x,
202 DWORD, y)
203{
204 dprintf(("SHELL32: SHELL32_654(%08xh,%08xh) not implemented.\n",
205 x,
206 y));
207 return 0;
208}
209
210
211/*****************************************************************************
212 * Name : StrToOleStr
213 * Purpose :
214 * Parameters:
215 * Variables :
216 * Result :
217 * Remark : SHELL32.163
218 * Status : UNTESTED UNKNOWN STUB
219 *
220 * Author : Patrick Haller [Tue, 1998/06/15 03:00]
221 *****************************************************************************/
222
223ODINFUNCTION2(int, StrToOleStr,
224 LPWSTR, lpWideCharStr,
225 LPCSTR, lpMultiByteString)
226{
227 return MultiByteToWideChar(0,
228 0,
229 lpMultiByteString,
230 -1,
231 lpWideCharStr,
232 MAX_PATH);
233}
234
235/*****************************************************************************
236 * Name : InternalExtractIconListA
237 * Purpose :
238 * Parameters: ???
239 * Variables :
240 * Result :
241 * Remark : SHELL32.221 - used by progman.exe
242 * Status : UNTESTED UNKNOWN STUB
243 *
244 * Author : Christoph Bratschi [Fri, 1999/08/6 19:00]
245 *****************************************************************************/
246
247ODINFUNCTION1(DWORD, InternalExtractIconListA, DWORD, dwArg1)
248{
249 dprintf(("SHELL32: undoc InternalExtractIconListA \n"));
250 return 0;
251}
252
253/*****************************************************************************
254 * Name : InternalExtractIconListW
255 * Purpose :
256 * Parameters: ???
257 * Variables :
258 * Result :
259 * Remark : SHELL32.222 - used by progman.exe
260 * Status : UNTESTED UNKNOWN STUB
261 *
262 * Author : Christoph Bratschi [Fri, 1999/08/6 19:00]
263 *****************************************************************************/
264
265ODINFUNCTION1(DWORD, InternalExtractIconListW, DWORD, dwArg1)
266{
267 dprintf(("SHELL32: undoc InternalExtractIconListW\n"));
268 return 0;
269}
270
271/*****************************************************************************
272 * Name : ExtractIconResInfoA
273 * Purpose :
274 * Parameters: ???
275 * Variables :
276 * Result :
277 * Remark : SHELL32.192 - used by progman.exe
278 * Status : UNTESTED UNKNOWN STUB
279 *
280 * Author : Christoph Bratschi [Fri, 1999/08/6 19:00]
281 *****************************************************************************/
282
283ODINFUNCTION1(DWORD, ExtractIconResInfoA, DWORD, dwArg1)
284{
285 dprintf(("SHELL32: undoc ExtractIconResInfoA\n"));
286 return 0;
287}
288
289/*****************************************************************************
290 * Name : ExtractIconResInfoW
291 * Purpose :
292 * Parameters: ???
293 * Variables :
294 * Result :
295 * Remark : SHELL32.193 - used by progman.exe
296 * Status : UNTESTED UNKNOWN STUB
297 *
298 * Author : Christoph Bratschi [Fri, 1999/08/6 19:00]
299 *****************************************************************************/
300
301ODINFUNCTION1(DWORD, ExtractIconResInfoW, DWORD, dwArg1)
302{
303 dprintf(("SHELL32: undoc ExtractIconResInfoW\n"));
304 return 0;
305}
306
307/*****************************************************************************
308 * Name : CheckEscapesA
309 * Purpose :
310 * Parameters: ???
311 * Variables :
312 * Result :
313 * Remark : SHELL32.3 - used by progman.exe
314 * Status : UNTESTED UNKNOWN STUB
315 *
316 * Author : Christoph Bratschi [Fri, 1999/08/6 19:00]
317 *****************************************************************************/
318
319ODINPROCEDURE2(CheckEscapesA,
320 DWORD, x1,
321 DWORD, x2)
322{
323 dprintf(("SHELL32: undoc CheckEscapesA\n"));
324}
325
326/*****************************************************************************
327 * Name : CheckEscapesW
328 * Purpose :
329 * Parameters: ???
330 * Variables :
331 * Result :
332 * Remark : SHELL32.6 - used by progman.exe
333 * Status : UNTESTED UNKNOWN STUB
334 *
335 * Author : Christoph Bratschi [Fri, 1999/08/6 19:00]
336 *****************************************************************************/
337
338ODINPROCEDURE2(CheckEscapesW,
339 DWORD, x1,
340 DWORD, x2)
341{
342 dprintf(("SHELL32: undoc CheckEscapesW\n"));
343}
344
345/*****************************************************************************
346 * Name : DuplicateIcon
347 * Purpose :
348 * Parameters: ???
349 * Variables :
350 * Result :
351 * Remark : SHELL32.138 - used by progman.exe
352 * Status : UNTESTED UNKNOWN STUB
353 *
354 * Author : Christoph Bratschi [Fri, 1999/08/6 19:00]
355 *****************************************************************************/
356
357ODINFUNCTION1(DWORD, DuplicateIcon,
358 DWORD, x1)
359{
360 dprintf(("SHELL32: undoc DuplicateIcon\n"));
361
362 return 0;
363}
364
Note: See TracBrowser for help on using the repository browser.