source: trunk/src/shell32/ordinal.cpp@ 183

Last change on this file since 183 was 183, checked in by phaller, 26 years ago

Add: even more SHELL32 APIs ... and some corrections

File size: 6.9 KB
Line 
1/* $Id: ordinal.cpp,v 1.3 1999-06-24 19:27:49 phaller Exp $ */
2
3/*
4 * Win32 SHELL32 for OS/2
5 * Copyright 1997 Marcus Meissner
6 * Copyright 1988 Patrick Haller (adapted for win32os2)
7 * Project Odin Software License can be found in LICENSE.TXT
8 *
9 */
10
11
12/*****************************************************************************
13 * Includes *
14 *****************************************************************************/
15
16#include <os2win.h>
17#include <shellapi.h>
18#include <winreg.h>
19
20#include <stdarg.h>
21//#include <builtin.h>
22#include <stdio.h>
23#include <stdlib.h>
24#include <string.h>
25#include <wchar.h>
26#include <wcstr.h>
27
28#include <misc.h>
29#include <nameid.h>
30#include <unicode.h>
31#include <winnls.h>
32
33#include "shell32.h"
34
35
36/*****************************************************************************
37 * Types & Defines *
38 *****************************************************************************/
39
40
41/*************************************************************************
42 * SHELL32_16 [SHELL32.16]
43 * find_lastitem_in_itemidlist()
44 */
45LPSHITEMID WIN32API ILFindLastID(LPITEMIDLIST iil)
46{
47 LPSHITEMID lastsii,
48 sii;
49
50 dprintf(("SHELL32: ILFindLastID (%08xh)\n",
51 iil));
52
53 if (!iil)
54 return NULL;
55
56 sii = &(iil->mkid);
57 lastsii = sii;
58
59 while (sii->cb)
60 {
61 lastsii = sii;
62 sii = (LPSHITEMID)(((char*)sii)+sii->cb);
63 }
64
65 return lastsii;
66}
67
68
69/*************************************************************************
70 * SHELL32_71 [SHELL32.71]
71 * returns internal shell values in the passed pointers
72 */
73BOOL WIN32API Shell_GetImageList(LPDWORD x,
74 LPDWORD y)
75{
76 dprintf(("SHELL32: Shell_GetImageList (%08xh, %08xh) not implemented.\n",
77 x,
78 y));
79
80 return TRUE;
81}
82
83
84/*************************************************************************
85 * SHELL32_72 [SHELL32.72]
86 * dunno. something with icons
87 */
88void WIN32API Shell_GetCachedImageIndex(LPSTR x,
89 DWORD y,
90 DWORD z)
91{
92 dprintf (("SHELL32: Shell_GetCachedImageIndex (%08xh, %08xh, %08xh) not implemented.\n",
93 x,
94 y,
95 z));
96}
97
98
99/*************************************************************************
100 * SHELL32_89 [SHELL32.89]
101 */
102DWORD WIN32API SHCloneSpecialIDList(DWORD x1,
103 DWORD x2,
104 DWORD x3)
105{
106 dprintf(("SHELL32: SHCloneSpecialIDList (%08xh, %08xh, %08xh) not implemented.\n",
107 x1,
108 x2,
109 x3));
110
111 return 0;
112}
113
114
115/*************************************************************************
116 * SHELL32_119 [SHELL32.119]
117 * unknown
118 */
119BOOL WIN32API IsLFNDrive(LPVOID x)
120{
121 dprintf(("SHELL32: IsLFNDrive (%08xh) not implemented.\n",
122 x));
123
124 return TRUE;
125}
126
127
128/*************************************************************************
129 * SHELL32_77 [SHELL32.77]
130 */
131DWORD WIN32API SHMapPIDLToSystemImageListIndex(DWORD x,
132 DWORD y,
133 DWORD z)
134{
135 dprintf(("SHELL32: SHMapPIDLToSystemImageListIndex (%08xh, %08xh, %08xh) not implemented.\n",
136 x,
137 y,
138 z));
139
140 return 0;
141}
142
143
144/*************************************************************************
145 * SHELL32_152 [SHELL32.152]
146 * itemlist_length
147 */
148DWORD WIN32API ILGetSize(LPITEMIDLIST iil)
149{
150 LPSHITEMID si;
151 DWORD len;
152
153 dprintf(("SHELL32: ILGetSize (%08xh)\n",
154 iil));
155
156
157 si = &(iil->mkid);
158 len = 2;
159
160 while (si->cb)
161 {
162 len += si->cb;
163 si = (LPSHITEMID)(((char*)si)+si->cb);
164 }
165
166 return len;
167}
168
169
170
171/*************************************************************************
172 * SHELL32_18 [SHELL32.18]
173 * copy_itemidlist()
174 */
175LPITEMIDLIST WIN32API ILClone(LPITEMIDLIST iil)
176{
177 DWORD len;
178 LPITEMIDLIST newiil;
179
180 dprintf(("SHELL32: ILClone(%08xh)\n",
181 iil));
182
183
184 len = ILGetSize(iil);
185 newiil = (LPITEMIDLIST)SHAlloc(len);
186 memcpy(newiil,
187 iil,
188 len);
189
190 return newiil;
191}
192
193
194/*************************************************************************
195 * SHELL32_25 [SHELL32.25]
196 * merge_itemidlist()
197 */
198LPITEMIDLIST WIN32API ILCombine(LPITEMIDLIST iil1,
199 LPITEMIDLIST iil2)
200{
201 DWORD len1,len2;
202 LPITEMIDLIST newiil;
203
204 dprintf(("SHELL32: ILCombine(%08xh, %08xh)\n",
205 iil1,
206 iil2));
207
208
209 len1 = ILGetSize(iil1)-2;
210 len2 = ILGetSize(iil2);
211 newiil = (LPITEMIDLIST)SHAlloc(len1+len2);
212
213 memcpy(newiil,
214 iil1,
215 len1);
216
217 memcpy(((char*)newiil)+len1,
218 iil2,
219 len2);
220
221 return newiil;
222}
223
224
225/*************************************************************************
226 * SHELL32_155 [SHELL32.155]
227 * free_check_ptr - frees memory (if not NULL) allocated by SHMalloc allocator
228 */
229DWORD WIN32API ILFree(LPVOID x)
230{
231 dprintf(("SHELL32: ILFree (%08xh)\n",
232 x));
233
234 if (!x)
235 return 0;
236
237 return SHFree(x);
238}
239
240
241/*************************************************************************
242 * SHELL32_85 [SHELL32.85]
243 * unknown
244 */
245DWORD WIN32API OpenRegStream(DWORD x1,
246 DWORD x2,
247 DWORD x3,
248 DWORD x4)
249{
250 dprintf(("SHELL32: OpenRegStream (%08x, %08xh, %08xh, %08xh) not implemented.\n",
251 x1,
252 x2,
253 x3,
254 x4));
255
256 return 0;
257}
258
259
260/*****************************************************************************
261 * Name :
262 * Purpose :
263 * Parameters:
264 * Variables :
265 * Result :
266 * Remark : SHELL32.162
267 * Status : UNTESTED UNKNOWN STUB
268 *
269 * Author : Patrick Haller [Tue, 1998/06/15 03:00]
270 *****************************************************************************/
271
272DWORD WIN32API SHSimpleIDListFromPathAW(DWORD x1)
273{
274 dprintf(("SHELL32: .162 (%08xh) not implemented.\n",
275 x1));
276
277 return (0);
278}
279
280
281/*****************************************************************************
282 * Name :
283 * Purpose :
284 * Parameters:
285 * Variables :
286 * Result :
287 * Remark : SHELL32.102
288 * Status : UNTESTED UNKNOWN STUB
289 *
290 * Author : Patrick Haller [Tue, 1998/06/15 03:00]
291 *****************************************************************************/
292
293DWORD WIN32API SHCoCreateInstance(DWORD x1,
294 DWORD x2,
295 DWORD x3,
296 DWORD x4,
297 DWORD x5)
298{
299 dprintf(("SHELL32: SHCoCreateInstance (%08xh, %08xh, %08xh, %08xh, %08xh) not implemented.\n",
300 x1,
301 x2,
302 x3,
303 x4,
304 x5));
305
306 return (0);
307}
Note: See TracBrowser for help on using the repository browser.