Release 20030408.
[wine/gsoc-2012-control.git] / dlls / shell32 / shell32.spec
blobd928107a67c799ea4afe17c802171b7e3c1975be
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
6 2 stdcall SHChangeNotifyRegister(long long long long long long)
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 195 stdcall SHFree(ptr)
177 196 stdcall SHAlloc(long)
178 197 stub SHGlobalDefect
179 198 stdcall SHAbortInvokeCommand ()
180 199 stub SHGetFileIcon
181 200 stub SHLocalAlloc
182 201 stub SHLocalFree
183 202 stub SHLocalReAlloc
184 203 stub AddCommasW
185 204 stub ShortSizeFormatW
186 205 stub Printer_LoadIconsW
187 206 stub Link_AddExtraDataSection
188 207 stub Link_ReadExtraDataSection
189 208 stub Link_RemoveExtraDataSection
190 209 stub Int64ToString
191 210 stub LargeIntegerToString
192 211 stub Printers_GetPidl
193 212 stub Printers_AddPrinterPropPages
194 213 stub Printers_RegisterWindowW
195 214 stub Printers_UnregisterWindow
196 215 stub SHStartNetConnectionDialog@12
197 243 stdcall @(long long) shell32_243
198 244 stdcall SHInitRestricted(ptr ptr)
199 247 stdcall SHGetDataFromIDListA (ptr ptr long ptr long)
200 248 stdcall SHGetDataFromIDListW (ptr ptr long ptr long)
201 249 stdcall PathParseIconLocation (ptr) PathParseIconLocationAW
202 250 stdcall PathRemoveExtension (ptr) PathRemoveExtensionAW
203 251 stdcall PathRemoveArgs (ptr) PathRemoveArgsAW
204 271 stub SheChangeDirA
205 272 stub SheChangeDirExA
206 273 stub SheChangeDirExW
207 274 stdcall SheChangeDirW(wstr)
208 275 stub SheConvertPathW
209 276 stub SheFullPathA
210 277 stub SheFullPathW
211 278 stub SheGetCurDrive
212 279 stub SheGetDirA@8
213 280 stub SheGetDirExW@12
214 281 stdcall SheGetDirW (long long)
215 282 stub SheGetPathOffsetW
216 283 stub SheRemoveQuotesA
217 284 stub SheRemoveQuotesW
218 285 stub SheSetCurDrive
219 286 stub SheShortenPathA
220 287 stub SheShortenPathW
221 288 stdcall ShellAboutA(long str str long)
222 289 stdcall ShellAboutW(long wstr wstr long)
223 290 stdcall ShellExecuteA(long str str str str long)
224 291 stdcall ShellExecuteEx (long) ShellExecuteExAW
225 292 stdcall ShellExecuteExA (long)
226 293 stdcall ShellExecuteExW (long)
227 294 stdcall ShellExecuteW (long wstr wstr wstr wstr long)
228 296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIconA
229 297 stdcall Shell_NotifyIconA(long ptr)
230 298 stdcall Shell_NotifyIconW(long ptr)
231 299 stub Shl1632_ThunkData32
232 300 stub Shl3216_ThunkData32
233 301 stdcall StrChrA(str long) shlwapi.StrChrA
234 302 stdcall StrChrIA(str long) shlwapi.StrChrIA
235 303 stdcall StrChrIW(wstr long) shlwapi.StrChrIW
236 304 stdcall StrChrW(wstr long) shlwapi.StrChrW
237 305 stdcall StrCmpNA(str str long) shlwapi.StrCmpNA
238 306 stdcall StrCmpNIA(str str long) shlwapi.StrCmpNIA
239 307 stdcall StrCmpNIW(wstr wstr long) shlwapi.StrCmpNIW
240 308 stdcall StrCmpNW(wstr wstr long) shlwapi.StrCmpNW
241 309 stdcall StrCpyNA (ptr str long) lstrcpynA
242 310 stdcall StrCpyNW(wstr wstr long) shlwapi.StrCpyNW
243 311 stdcall StrNCmpA(str str long) shlwapi.StrCmpNA
244 312 stdcall StrNCmpIA(str str long) shlwapi.StrCmpNIA
245 313 stdcall StrNCmpIW(wstr wstr long) shlwapi.StrCmpNIW
246 314 stdcall StrNCmpW(wstr wstr long) shlwapi.StrCmpNW
247 315 stdcall StrNCpyA (ptr str long) lstrcpynA
248 316 stdcall StrNCpyW(wstr wstr long) shlwapi.StrCpyNW
249 317 stdcall StrRChrA(str str long) shlwapi.StrRChrA
250 318 stdcall StrRChrIA(str str long) shlwapi.StrRChrIA
251 319 stdcall StrRChrIW(str str long) shlwapi.StrRChrIW
252 320 stdcall StrRChrW(wstr wstr long) shlwapi.StrRChrW
253 321 stub StrRStrA
254 322 stdcall StrRStrIA(str str str) shlwapi.StrRStrIA
255 323 stdcall StrRStrIW(wstr wstr wstr) shlwapi.StrRStrIW
256 324 stub StrRStrW
257 325 stdcall StrStrA(str str) shlwapi.StrStrA
258 326 stdcall StrStrIA(str str) shlwapi.StrStrIA
259 327 stdcall StrStrIW(wstr wstr) shlwapi.StrStrIW
260 328 stdcall StrStrW(wstr wstr) shlwapi.StrStrW
262 505 stdcall SHRegCloseKey (long)
263 506 stdcall SHRegOpenKeyA (long str long)
264 507 stdcall SHRegOpenKeyW (long wstr long)
265 508 stub SHRegQueryValueA@16
266 509 stdcall SHRegQueryValueExA(long str ptr ptr ptr ptr)
267 510 stdcall SHRegQueryValueW (long long long long)
268 511 stdcall SHRegQueryValueExW (long wstr ptr ptr ptr ptr)
269 512 stdcall SHRegDeleteKeyW (long wstr)
271 520 stdcall SHAllocShared (long long long)
272 521 stdcall SHLockShared (long long)
273 522 stdcall SHUnlockShared (long)
274 523 stdcall SHFreeShared (long long)
275 524 stub RealDriveType@8
276 525 stub RealDriveTypeFlags@8
278 640 stdcall NTSHChangeNotifyRegister (long long long long long long)
279 641 stdcall NTSHChangeNotifyDeregister (long)
281 643 stub SHChangeNotifyReceive@16
282 644 stub SHChangeNotification_Lock@16
283 645 stub SHChangeNotification_Unlock@4
284 646 stub SHChangeRegistrationReceive@8
285 647 stub ReceiveAddToRecentDocs@8
286 648 stub SHWaitOp_Operate@8
288 650 stdcall PathIsSameRoot(ptr ptr)PathIsSameRootAW
290 # nt40/win98
291 651 stdcall ReadCabinetState (long long) # OldReadCabinetState
292 652 stdcall WriteCabinetState (long)
293 653 stdcall PathProcessCommand (long long long long) PathProcessCommandAW
295 # win98
296 654 stdcall @(long long)shell32_654 # ReadCabinetState@8
297 660 stdcall FileIconInit(long)
298 680 stdcall IsUserAdmin()
300 # >= NT5
301 714 stdcall @(ptr)SHELL32_714 # PathIsTemporaryW
303 1217 stub FOOBAR1217 # no joke! This is the real name!!
306 # version 4.0 (win95)
307 # _WIN32_IE >= 0x0200
309 @ stdcall CheckEscapesA(str long)
310 @ stdcall CheckEscapesW(wstr long)
311 @ stdcall CommandLineToArgvW(wstr ptr)
312 @ stdcall Control_FillCache_RunDLL(long long long long)
313 @ stub Control_FillCache_RunDLLA
314 @ stub Control_FillCache_RunDLLW
315 @ stdcall Control_RunDLL(ptr ptr str long) Control_RunDLLA
316 @ stdcall Control_RunDLLA(ptr ptr str long)
317 @ stdcall Control_RunDLLW(ptr ptr wstr long)
318 @ stdcall DllInstall(long wstr)SHELL32_DllInstall
319 @ stdcall DoEnvironmentSubstA(str str)
320 @ stdcall DoEnvironmentSubstW(wstr wstr)
321 @ stub DragQueryFileAorW
322 @ stdcall DuplicateIcon(long long)
323 @ stdcall ExtractAssociatedIconA(long ptr long)
324 @ stdcall ExtractAssociatedIconExA(long str long long)
325 @ stdcall ExtractAssociatedIconExW(long wstr long long)
326 @ stub ExtractAssociatedIconW
327 @ stdcall ExtractIconA(long str long)
328 @ stdcall ExtractIconEx(ptr long ptr ptr long)ExtractIconExAW
329 @ stdcall ExtractIconExA(str long ptr ptr long)
330 @ stdcall ExtractIconExW(wstr long ptr ptr long)
331 @ stdcall ExtractIconW(long wstr long)
332 @ stub ExtractIconResInfoA
333 @ stub ExtractIconResInfoW
334 @ stub ExtractVersionResource16W
335 @ stub FindExeDlgProc
336 @ stdcall FindExecutableA(ptr ptr ptr)
337 @ stdcall FindExecutableW(wstr wstr wstr)
338 @ stdcall FreeIconList(long)
339 @ stub InternalExtractIconListA
340 @ stub InternalExtractIconListW
341 @ stub OpenAs_RunDLL
342 @ stub OpenAs_RunDLLA
343 @ stub OpenAs_RunDLLW
344 @ stub PrintersGetCommand_RunDLL
345 @ stub PrintersGetCommand_RunDLLA
346 @ stub PrintersGetCommand_RunDLLW
347 @ stub RealShellExecuteA
348 @ stub RealShellExecuteExA
349 @ stub RealShellExecuteExW
350 @ stub RealShellExecuteW
351 @ stub RegenerateUserEnvironment
352 @ stdcall SHAddToRecentDocs (long ptr)
353 @ stdcall SHAppBarMessage(long ptr)
354 @ stdcall SHBrowseForFolder(ptr) SHBrowseForFolderA
355 @ stdcall SHBrowseForFolderA(ptr)
356 @ stdcall SHBrowseForFolderW(ptr)
357 @ stdcall SHChangeNotify (long long ptr ptr)
358 @ stdcall SHCreateDirectoryExA(long str ptr)
359 @ stdcall SHCreateDirectoryExW(long wstr ptr)
360 @ stub ShellHookProc
361 @ stub SHEmptyRecycleBinA@12
362 @ stub SHEmptyRecycleBinW@12
363 @ stdcall SHFileOperation(ptr)SHFileOperationAW
364 @ stdcall SHFileOperationA(ptr)
365 @ stdcall SHFileOperationW(ptr)
366 @ stub SHFormatDrive@16
367 @ stub SHFreeNameMappings@4
368 @ stdcall SHGetDesktopFolder(ptr)
369 @ stdcall SHGetFileInfo(ptr long ptr long long)SHGetFileInfoAW
370 @ stdcall SHGetFileInfoA(ptr long ptr long long)
371 @ stdcall SHGetFileInfoW(ptr long ptr long long)
372 @ stdcall SHGetInstanceExplorer(long)
373 @ stdcall SHGetMalloc(ptr)
374 @ stub SHGetNewLinkInfo@20
375 @ stdcall SHGetPathFromIDList(ptr ptr)SHGetPathFromIDListAW
376 @ stdcall SHGetPathFromIDListA(ptr ptr)
377 @ stdcall SHGetPathFromIDListW(ptr ptr)
378 @ stdcall SHGetSettings(ptr long)
379 @ stdcall SHGetSpecialFolderLocation(long long ptr)
380 @ stdcall SHHelpShortcuts_RunDLL(long long long long)
381 @ stub SHHelpShortcuts_RunDLLA@16
382 @ stub SHHelpShortcuts_RunDLLW@16
383 @ stdcall SHLoadInProc(long)
384 @ stub SHQueryRecycleBinA@8
385 @ stub SHQueryRecycleBinW@8
386 @ stub SHUpdateRecycleBinIcon@0
387 @ stub WOWShellExecute@28
390 # version 4.70 (IE3.0)
391 # _WIN32_IE >= 0x0300
395 # version 4.71 (IE4.0)
396 # _WIN32_IE >= 0x0400
398 @ stdcall DllCanUnloadNow() SHELL32_DllCanUnloadNow
399 @ stdcall DllGetVersion(ptr)SHELL32_DllGetVersion
400 @ stub SHGetFreeDiskSpace
401 @ stdcall SHGetSpecialFolderPathA(long ptr long long)
402 @ stdcall SHGetSpecialFolderPathW(long ptr long long)
404 # version 4.72 (IE4.01)
405 # _WIN32_IE >= 0x0401
406 # no new exports
410 # version 5.00 (Win2K)
411 # _WIN32_IE >= 0x0500
413 @ stdcall SHGetDiskFreeSpaceA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA
414 @ stdcall SHGetDiskFreeSpaceExA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA
415 @ stdcall SHGetDiskFreeSpaceExW(wstr ptr ptr ptr) kernel32.GetDiskFreeSpaceExW
416 @ stdcall SHGetFolderPathA(long long long long ptr)
417 @ stdcall SHGetFolderPathW(long long long long ptr)
418 @ stdcall SHGetFolderLocation(long long long long ptr)
420 # version 6.0 (WinXP)
421 # _WIN32_IE >= 0x600
422 @ stdcall SHDefExtractIconA(str long long ptr ptr long)
423 @ stdcall SHDefExtractIconW(wstr long long ptr ptr long)