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

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

complete merge with shell32 from wine 20000801

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