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

Last change on this file since 5655 was 5472, checked in by sandervl, 24 years ago

compile fix

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