Deal with the case of loading an empty PIDL from a stream better in
[wine] / dlls / shell32 / shell32.spec
1 # Functions exported by the Win95 shell32.dll
2 # (these need to have these exact ordinals, for some
3 #  win95 and winNT dlls import shell32.dll by ordinal)
4 # This list was updated to dll version 4.72
5
6    2 stdcall SHChangeNotifyRegister(long long long long long ptr)
7    4 stdcall SHChangeNotifyDeregister (long)
8    5 stdcall SHChangeNotifyUpdateEntryList (long long long long)
9    9 stub PifMgr_OpenProperties@16
10   10 stub PifMgr_GetProperties@20
11   11 stub PifMgr_SetProperties@20
12   13 stub PifMgr_CloseProperties@8
13   15 stdcall ILGetDisplayName(ptr ptr)
14   16 stdcall ILFindLastID(ptr)
15   17 stdcall ILRemoveLastID(ptr)
16   18 stdcall ILClone(ptr)
17   19 stdcall ILCloneFirst (ptr)
18   20 stdcall ILGlobalClone (ptr)
19   21 stdcall ILIsEqual (ptr ptr)
20   23 stdcall ILIsParent (ptr ptr long)
21   24 stdcall ILFindChild (ptr ptr)
22   25 stdcall ILCombine(ptr ptr)
23   26 stdcall ILLoadFromStream (ptr ptr)
24   27 stdcall ILSaveToStream(ptr ptr)
25   28 stdcall SHILCreateFromPath(ptr ptr ptr) SHILCreateFromPathAW
26   29 stdcall PathIsRoot(ptr) PathIsRootAW
27   30 stdcall PathBuildRoot(ptr long) PathBuildRootAW
28   31 stdcall PathFindExtension(ptr) PathFindExtensionAW
29   32 stdcall PathAddBackslash(ptr) PathAddBackslashAW
30   33 stdcall PathRemoveBlanks(ptr) PathRemoveBlanksAW
31   34 stdcall PathFindFileName(ptr) PathFindFileNameAW
32   35 stdcall PathRemoveFileSpec(ptr) PathRemoveFileSpecAW
33   36 stdcall PathAppend(ptr ptr) PathAppendAW
34   37 stdcall PathCombine(ptr ptr ptr) PathCombineAW
35   38 stdcall PathStripPath(ptr)PathStripPathAW
36   39 stdcall PathIsUNC (ptr) PathIsUNCAW
37   40 stdcall PathIsRelative (ptr) PathIsRelativeAW
38   43 stdcall PathIsExe (ptr) PathIsExeAW
39   45 stdcall PathFileExists(ptr) PathFileExistsAW
40   46 stdcall PathMatchSpec (ptr ptr) PathMatchSpecAW
41   47 stdcall PathMakeUniqueName (ptr long ptr ptr ptr)PathMakeUniqueNameAW
42   48 stdcall PathSetDlgItemPath (long long ptr) PathSetDlgItemPathAW
43   49 stdcall PathQualify (ptr) PathQualifyAW
44   50 stdcall PathStripToRoot (ptr) PathStripToRootAW
45   51 stdcall PathResolve(str long long) PathResolveAW
46   52 stdcall PathGetArgs(str) PathGetArgsAW
47   53 stdcall DoEnvironmentSubst (long long) DoEnvironmentSubstAW
48   54 stdcall DragAcceptFiles(long long)
49   55 stdcall PathQuoteSpaces (ptr) PathQuoteSpacesAW
50   56 stdcall PathUnquoteSpaces(str) PathUnquoteSpacesAW
51   57 stdcall PathGetDriveNumber (str) PathGetDriveNumberAW
52   58 stdcall ParseField(str long ptr long) ParseFieldAW
53   59 stub RestartDialog@12
54   60 stdcall ExitWindowsDialog(long)
55   61 stdcall RunFileDlg(long long long str str long)
56   62 stdcall PickIconDlg(long long long long)
57   63 stdcall GetFileNameFromBrowse(long long long long str str str)
58   64 stdcall DriveType (long)
59   65 stub InvalidateDriveType
60   66 stdcall IsNetDrive(long)
61   67 stdcall Shell_MergeMenus (long long long long long long)
62   68 stdcall SHGetSetSettings(ptr long long)
63   69 stub SHGetNetResource
64   70 stdcall SHCreateDefClassObject(long long long long long)
65   71 stdcall Shell_GetImageList(ptr ptr)
66   72 stdcall Shell_GetCachedImageIndex(ptr ptr long) Shell_GetCachedImageIndexAW
67   73 stdcall SHShellFolderView_Message(long long long)
68   74 stdcall SHCreateStdEnumFmtEtc(long ptr ptr)
69   75 stdcall PathYetAnotherMakeUniqueName(ptr ptr ptr ptr) PathYetAnotherMakeUniqueNameA
70   76 stub DragQueryInfo
71   77 stdcall SHMapPIDLToSystemImageListIndex(ptr ptr ptr)
72   78 stdcall OleStrToStrN(str long wstr long) OleStrToStrNAW
73   79 stdcall StrToOleStrN(wstr long str long) StrToOleStrNAW
74   80 stdcall DragFinish(long)
75   81 stdcall DragQueryFile(long long ptr long) DragQueryFileA
76   82 stdcall DragQueryFileA(long long ptr long)
77   83 stdcall CIDLData_CreateFromIDArray(ptr long ptr ptr)
78   84 stub SHIsBadInterfacePtr
79   85 stdcall OpenRegStream(long str str long) shlwapi.SHOpenRegStreamA
80   86 stdcall SHRegisterDragDrop(long ptr)
81   87 stdcall SHRevokeDragDrop(long)
82   88 stdcall SHDoDragDrop(long ptr ptr long ptr)
83   89 stdcall SHCloneSpecialIDList(long long long)
84   90 stub SHFindFiles
85   91 stub SHFindComputer
86   92 stdcall PathGetShortPath (ptr) PathGetShortPathAW
87   93 stdcall Win32CreateDirectory(wstr ptr) Win32CreateDirectoryAW
88   94 stdcall Win32RemoveDirectory(wstr) Win32RemoveDirectoryAW
89   95 stdcall SHLogILFromFSIL (ptr)
90   96 stdcall StrRetToStrN (ptr long ptr ptr) StrRetToStrNAW
91   97 stdcall SHWaitForFileToOpen (long long long)
92   98 stdcall SHGetRealIDL (long long long)
93   99 stdcall SetAppStartingCursor (long long)
94  100 stdcall SHRestricted(long)
95  102 stdcall SHCoCreateInstance(ptr ptr long ptr ptr)
96  103 stdcall SignalFileOpen(long)
97  104 stdcall FileMenu_DeleteAllItems(long)
98  105 stdcall FileMenu_DrawItem(long ptr)
99  106 stdcall FileMenu_FindSubMenuByPidl(long ptr)
100  107 stdcall FileMenu_GetLastSelectedItemPidls(long ptr ptr)
101  108 stdcall FileMenu_HandleMenuChar(long long)
102  109 stdcall FileMenu_InitMenuPopup (long)
103  110 stdcall FileMenu_InsertUsingPidl (long long ptr long long ptr)
104  111 stdcall FileMenu_Invalidate (long)
105  112 stdcall FileMenu_MeasureItem(long ptr)
106  113 stdcall FileMenu_ReplaceUsingPidl (long long ptr long ptr)
107  114 stdcall FileMenu_Create (long long long long long)
108  115 stdcall FileMenu_AppendItem (long ptr long long long long) FileMenu_AppendItemAW
109  116 stdcall FileMenu_TrackPopupMenuEx (long long long long long long)
110  117 stdcall FileMenu_DeleteItemByCmd(long long)
111  118 stdcall FileMenu_Destroy (long)
112  119 stdcall IsLFNDrive(str) IsLFNDriveA
113  120 stdcall FileMenu_AbortInitMenu ()
114  121 stdcall SHFlushClipboard ()
115  122 stdcall RunDLL_CallEntry16 (long long long long long) #name wrong?
116  123 stdcall SHFreeUnusedLibraries ()
117  124 stdcall FileMenu_AppendFilesForPidl(long ptr long)
118  125 stdcall FileMenu_AddFilesForPidl(long long long ptr long long ptr)
119  126 stdcall SHOutOfMemoryMessageBox (long long long)
120  127 stdcall SHWinHelp (long long long long)
121  128 stdcall DllGetClassObject(long long ptr) SHELL32_DllGetClassObject
122  129 stdcall DAD_AutoScroll(long ptr ptr)
123  130 stdcall DAD_DragEnter(long)
124  131 stdcall DAD_DragEnterEx(long long long)
125  132 stdcall DAD_DragLeave()
126  133 stdcall DragQueryFileW(long long ptr long)
127  134 stdcall DAD_DragMove(long long)
128  135 stdcall DragQueryPoint(long ptr)
129  136 stdcall DAD_SetDragImage(long long)
130  137 stdcall DAD_ShowDragImage (long)
131  139 stub Desktop_UpdateBriefcaseOnEvent
132  140 stdcall FileMenu_DeleteItemByIndex(long long)
133  141 stdcall FileMenu_DeleteItemByFirstID(long long)
134  142 stdcall FileMenu_DeleteSeparator(long)
135  143 stdcall FileMenu_EnableItemByCmd(long long long)
136  144 stdcall FileMenu_GetItemExtent (long long)
137  145 stdcall PathFindOnPath (ptr ptr) PathFindOnPathAW
138  146 stdcall RLBuildListOfPaths()
139  147 stdcall SHCLSIDFromString(long long) SHCLSIDFromStringAW
140  149 stdcall SHFind_InitMenuPopup(long long long long)
141  151 stdcall SHLoadOLE (long)
142  152 stdcall ILGetSize(ptr)
143  153 stdcall ILGetNext(ptr)
144  154 stdcall ILAppend (long long long)
145  155 stdcall ILFree (ptr)
146  156 stdcall ILGlobalFree (ptr)
147  157 stdcall ILCreateFromPath (ptr) ILCreateFromPathAW
148  158 stdcall PathGetExtension(str long long) PathGetExtensionAW
149  159 stdcall PathIsDirectory(ptr)PathIsDirectoryAW
150  160 stub SHNetConnectionDialog
151  161 stdcall SHRunControlPanel (long long)
152  162 stdcall SHSimpleIDListFromPath (ptr) SHSimpleIDListFromPathAW
153  163 stdcall StrToOleStr (wstr str) StrToOleStrAW
154  164 stdcall Win32DeleteFile(str) Win32DeleteFileAW
155  165 stdcall SHCreateDirectory(long ptr)
156  166 stdcall CallCPLEntry16(long long long long long long)
157  167 stdcall SHAddFromPropSheetExtArray(long long long)
158  168 stdcall SHCreatePropSheetExtArray(long str long)
159  169 stdcall SHDestroyPropSheetExtArray(long)
160  170 stdcall SHReplaceFromPropSheetExtArray(long long long long)
161  171 stdcall PathCleanupSpec(ptr ptr) PathCleanupSpecAW
162  172 stub SHCreateLinks
163  173 stdcall SHValidateUNC(long long long)
164  174 stdcall SHCreateShellFolderViewEx (ptr ptr)
165  175 stdcall SHGetSpecialFolderPath(long long long long) SHGetSpecialFolderPathAW
166  176 stdcall SHSetInstanceExplorer (long)
167  177 stub DAD_SetDragImageFromListView
168  178 stub SHObjectProperties
169  179 stub SHGetNewLinkInfoA
170  180 stub SHGetNewLinkInfoW
171  181 stdcall RegisterShellHook(long long)
172  182 varargs ShellMessageBoxW(long long long str long)
173  183 varargs ShellMessageBoxA(long long long str long)
174  184 stdcall ArrangeWindows(long long long long long)
175  185 stub SHHandleDiskFull
176  186 stdcall ILGetDisplayNameEx(ptr ptr ptr long)
177  195 stdcall SHFree(ptr)
178  196 stdcall SHAlloc(long)
179  197 stub SHGlobalDefect
180  198 stdcall SHAbortInvokeCommand ()
181  199 stub SHGetFileIcon
182  200 stub SHLocalAlloc
183  201 stub SHLocalFree
184  202 stub SHLocalReAlloc
185  203 stub AddCommasW
186  204 stub ShortSizeFormatW
187  205 stub Printer_LoadIconsW
188  206 stub Link_AddExtraDataSection
189  207 stub Link_ReadExtraDataSection
190  208 stub Link_RemoveExtraDataSection
191  209 stub Int64ToString
192  210 stub LargeIntegerToString
193  211 stub Printers_GetPidl
194  212 stub Printers_AddPrinterPropPages
195  213 stub Printers_RegisterWindowW
196  214 stub Printers_UnregisterWindow
197  215 stub SHStartNetConnectionDialog@12
198  243 stdcall @(long long) shell32_243
199  244 stdcall SHInitRestricted(ptr ptr)
200  247 stdcall SHGetDataFromIDListA (ptr ptr long ptr long)
201  248 stdcall SHGetDataFromIDListW (ptr ptr long ptr long)
202  249 stdcall PathParseIconLocation (ptr) PathParseIconLocationAW
203  250 stdcall PathRemoveExtension (ptr) PathRemoveExtensionAW
204  251 stdcall PathRemoveArgs (ptr) PathRemoveArgsAW
205  256 stdcall @(ptr ptr) SHELL32_256
206  271 stub SheChangeDirA
207  272 stub SheChangeDirExA
208  273 stub SheChangeDirExW
209  274 stdcall SheChangeDirW(wstr)
210  275 stub SheConvertPathW
211  276 stub SheFullPathA
212  277 stub SheFullPathW
213  278 stub SheGetCurDrive
214  279 stub SheGetDirA@8
215  280 stub SheGetDirExW@12
216  281 stdcall SheGetDirW (long long)
217  282 stub SheGetPathOffsetW
218  283 stub SheRemoveQuotesA
219  284 stub SheRemoveQuotesW
220  285 stub SheSetCurDrive
221  286 stub SheShortenPathA
222  287 stub SheShortenPathW
223  288 stdcall ShellAboutA(long str str long)
224  289 stdcall ShellAboutW(long wstr wstr long)
225  290 stdcall ShellExecuteA(long str str str str long)
226  291 stdcall ShellExecuteEx (long) ShellExecuteExAW
227  292 stdcall ShellExecuteExA (long)
228  293 stdcall ShellExecuteExW (long)
229  294 stdcall ShellExecuteW (long wstr wstr wstr wstr long)
230  296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIconA
231  297 stdcall Shell_NotifyIconA(long ptr)
232  298 stdcall Shell_NotifyIconW(long ptr)
233  299 stub Shl1632_ThunkData32
234  300 stub Shl3216_ThunkData32
235  301 stdcall StrChrA(str long) shlwapi.StrChrA
236  302 stdcall StrChrIA(str long) shlwapi.StrChrIA
237  303 stdcall StrChrIW(wstr long) shlwapi.StrChrIW
238  304 stdcall StrChrW(wstr long) shlwapi.StrChrW
239  305 stdcall StrCmpNA(str str long) shlwapi.StrCmpNA
240  306 stdcall StrCmpNIA(str str long) shlwapi.StrCmpNIA
241  307 stdcall StrCmpNIW(wstr wstr long) shlwapi.StrCmpNIW
242  308 stdcall StrCmpNW(wstr wstr long) shlwapi.StrCmpNW
243  309 stdcall StrCpyNA (ptr str long) lstrcpynA
244  310 stdcall StrCpyNW(wstr wstr long) shlwapi.StrCpyNW
245  311 stdcall StrNCmpA(str str long) shlwapi.StrCmpNA
246  312 stdcall StrNCmpIA(str str long) shlwapi.StrCmpNIA
247  313 stdcall StrNCmpIW(wstr wstr long) shlwapi.StrCmpNIW
248  314 stdcall StrNCmpW(wstr wstr long) shlwapi.StrCmpNW
249  315 stdcall StrNCpyA (ptr str long) lstrcpynA
250  316 stdcall StrNCpyW(wstr wstr long) shlwapi.StrCpyNW
251  317 stdcall StrRChrA(str str long) shlwapi.StrRChrA
252  318 stdcall StrRChrIA(str str long) shlwapi.StrRChrIA
253  319 stdcall StrRChrIW(str str long) shlwapi.StrRChrIW
254  320 stdcall StrRChrW(wstr wstr long) shlwapi.StrRChrW
255  321 stub StrRStrA
256  322 stdcall StrRStrIA(str str str) shlwapi.StrRStrIA
257  323 stdcall StrRStrIW(wstr wstr wstr) shlwapi.StrRStrIW
258  324 stub StrRStrW
259  325 stdcall StrStrA(str str) shlwapi.StrStrA
260  326 stdcall StrStrIA(str str) shlwapi.StrStrIA
261  327 stdcall StrStrIW(wstr wstr) shlwapi.StrStrIW
262  328 stdcall StrStrW(wstr wstr) shlwapi.StrStrW
263
264  505 stdcall SHRegCloseKey (long)
265  506 stdcall SHRegOpenKeyA (long str long)
266  507 stdcall SHRegOpenKeyW (long wstr long)
267  508 stub SHRegQueryValueA@16
268  509 stdcall SHRegQueryValueExA(long str ptr ptr ptr ptr)
269  510 stdcall SHRegQueryValueW (long long long long)
270  511 stdcall SHRegQueryValueExW (long wstr ptr ptr ptr ptr)
271  512 stdcall SHRegDeleteKeyW (long wstr)
272
273  520 stdcall SHAllocShared (long long long)
274  521 stdcall SHLockShared (long long)
275  522 stdcall SHUnlockShared (long)
276  523 stdcall SHFreeShared (long long)
277  524 stub RealDriveType@8
278  525 stub RealDriveTypeFlags@8
279
280  640 stdcall NTSHChangeNotifyRegister (long long long long long long)
281  641 stdcall NTSHChangeNotifyDeregister (long)
282
283  643 stub SHChangeNotifyReceive@16
284  644 stdcall SHChangeNotification_Lock(long long ptr ptr)
285  645 stdcall SHChangeNotification_Unlock(long)
286  646 stub SHChangeRegistrationReceive@8
287  647 stub ReceiveAddToRecentDocs@8
288  648 stub SHWaitOp_Operate@8
289
290  650 stdcall PathIsSameRoot(ptr ptr)PathIsSameRootAW
291
292 # nt40/win98
293  651 stdcall ReadCabinetState (long long) # OldReadCabinetState
294  652 stdcall WriteCabinetState (long)
295  653 stdcall PathProcessCommand (long long long long) PathProcessCommandAW
296
297 # win98
298  654 stdcall @(long long)shell32_654 # ReadCabinetState@8
299  660 stdcall FileIconInit(long)
300  680 stdcall IsUserAdmin()
301
302 # >= NT5
303  714 stdcall @(ptr)SHELL32_714 # PathIsTemporaryW
304
305 1217 stub FOOBAR1217   # no joke! This is the real name!!
306
307 #
308 # version 4.0 (win95)
309 # _WIN32_IE >= 0x0200
310 #
311 @ stdcall CheckEscapesA(str long)
312 @ stdcall CheckEscapesW(wstr long)
313 @ stdcall CommandLineToArgvW(wstr ptr)
314 @ stdcall Control_FillCache_RunDLL(long long long long) Control_FillCache_RunDLLA
315 @ stdcall Control_FillCache_RunDLLA(long long long long)
316 @ stdcall Control_FillCache_RunDLLW(long long long long)
317 @ stdcall Control_RunDLL(ptr ptr str long) Control_RunDLLA
318 @ stdcall Control_RunDLLA(ptr ptr str long)
319 @ stdcall Control_RunDLLW(ptr ptr wstr long)
320 @ stdcall DllInstall(long wstr)SHELL32_DllInstall
321 @ stdcall DllRegisterServer() SHELL32_DllRegisterServer
322 @ stdcall DllUnregisterServer() SHELL32_DllUnregisterServer
323 @ stdcall DoEnvironmentSubstA(str str)
324 @ stdcall DoEnvironmentSubstW(wstr wstr)
325 @ stub DragQueryFileAorW
326 @ stdcall DuplicateIcon(long long)
327 @ stdcall ExtractAssociatedIconA(long ptr long)
328 @ stdcall ExtractAssociatedIconExA(long str long long)
329 @ stdcall ExtractAssociatedIconExW(long wstr long long)
330 @ stub ExtractAssociatedIconW
331 @ stdcall ExtractIconA(long str long)
332 @ stdcall ExtractIconEx(ptr long ptr ptr long)ExtractIconExAW
333 @ stdcall ExtractIconExA(str long ptr ptr long)
334 @ stdcall ExtractIconExW(wstr long ptr ptr long)
335 @ stdcall ExtractIconW(long wstr long)
336 @ stub ExtractIconResInfoA
337 @ stub ExtractIconResInfoW
338 @ stub ExtractVersionResource16W
339 @ stub FindExeDlgProc
340 @ stdcall FindExecutableA(ptr ptr ptr)
341 @ stdcall FindExecutableW(wstr wstr wstr)
342 @ stdcall FreeIconList(long)
343 @ stub InternalExtractIconListA
344 @ stub InternalExtractIconListW
345 @ stub OpenAs_RunDLL
346 @ stub OpenAs_RunDLLA
347 @ stub OpenAs_RunDLLW
348 @ stub PrintersGetCommand_RunDLL
349 @ stub PrintersGetCommand_RunDLLA
350 @ stub PrintersGetCommand_RunDLLW
351 @ stub RealShellExecuteA
352 @ stub RealShellExecuteExA
353 @ stub RealShellExecuteExW
354 @ stub RealShellExecuteW
355 @ stub RegenerateUserEnvironment
356 @ stdcall SHAddToRecentDocs (long ptr)
357 @ stdcall SHAppBarMessage(long ptr)
358 @ stdcall SHBrowseForFolder(ptr) SHBrowseForFolderA
359 @ stdcall SHBrowseForFolderA(ptr)
360 @ stdcall SHBrowseForFolderW(ptr)
361 @ stdcall SHChangeNotify (long long ptr ptr)
362 @ stdcall SHCreateDirectoryExA(long str ptr)
363 @ stdcall SHCreateDirectoryExW(long wstr ptr)
364 @ stub ShellHookProc
365 @ stub SHEmptyRecycleBinA@12
366 @ stub SHEmptyRecycleBinW@12
367 @ stdcall SHFileOperation(ptr)SHFileOperationAW
368 @ stdcall SHFileOperationA(ptr)
369 @ stdcall SHFileOperationW(ptr)
370 @ stub SHFormatDrive@16
371 @ stub SHFreeNameMappings@4
372 @ stdcall SHGetDesktopFolder(ptr)
373 @ stdcall SHGetFileInfo(ptr long ptr long long)SHGetFileInfoAW
374 @ stdcall SHGetFileInfoA(ptr long ptr long long)
375 @ stdcall SHGetFileInfoW(ptr long ptr long long)
376 @ stdcall SHGetInstanceExplorer(long)
377 @ stdcall SHGetMalloc(ptr)
378 @ stub SHGetNewLinkInfo@20
379 @ stdcall SHGetPathFromIDList(ptr ptr)SHGetPathFromIDListAW
380 @ stdcall SHGetPathFromIDListA(ptr ptr)
381 @ stdcall SHGetPathFromIDListW(ptr ptr)
382 @ stdcall SHGetSettings(ptr long)
383 @ stdcall SHGetSpecialFolderLocation(long long ptr)
384 @ stdcall SHHelpShortcuts_RunDLL(long long long long)
385 @ stub SHHelpShortcuts_RunDLLA@16
386 @ stub SHHelpShortcuts_RunDLLW@16
387 @ stdcall SHLoadInProc(long)
388 @ stub SHQueryRecycleBinA@8
389 @ stub SHQueryRecycleBinW@8
390 @ stub SHUpdateRecycleBinIcon@0
391 @ stub WOWShellExecute@28
392
393 #
394 # version 4.70 (IE3.0)
395 # _WIN32_IE >= 0x0300
396 #
397
398 #
399 # version 4.71 (IE4.0)
400 # _WIN32_IE >= 0x0400
401 #
402 @ stdcall DllCanUnloadNow() SHELL32_DllCanUnloadNow
403 @ stdcall DllGetVersion(ptr)SHELL32_DllGetVersion
404 @ stub SHGetFreeDiskSpace
405 @ stdcall SHGetSpecialFolderPathA(long ptr long long)
406 @ stdcall SHGetSpecialFolderPathW(long ptr long long)
407 #
408 # version 4.72 (IE4.01)
409 # _WIN32_IE >= 0x0401
410 # no new exports
411 #
412
413 #
414 # version 5.00 (Win2K)
415 # _WIN32_IE >= 0x0500
416 #
417 @ stdcall SHGetDiskFreeSpaceA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA
418 @ stdcall SHGetDiskFreeSpaceExA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA
419 @ stdcall SHGetDiskFreeSpaceExW(wstr ptr ptr ptr) kernel32.GetDiskFreeSpaceExW
420 @ stdcall SHGetFolderPathA(long long long long ptr)
421 @ stdcall SHGetFolderPathW(long long long long ptr)
422 @ stdcall SHGetFolderLocation(long long long long ptr)
423
424 # version 6.0 (WinXP)
425 # _WIN32_IE >= 0x600
426 @ stdcall SHDefExtractIconA(str long long ptr ptr long)
427 @ stdcall SHDefExtractIconW(wstr long long ptr ptr long)