name shell32 type win32 init Shell32LibMain rsrc shres.res # fixme: avoid this import import ole32.dll import shlwapi.dll import comctl32.dll #import user32.dll #import gdi32.dll #import advapi32.dll #import kernel32.dll #import ntdll.dll debug_channels (exec pidl shell) # Functions exported by the Win95 shell32.dll # (these need to have these exact ordinals, for some # win95 and winNT dlls import shell32.dll by ordinal) # This list was updated to dll version 4.72 2 stdcall SHChangeNotifyRegister(long long long long long long) SHChangeNotifyRegister 4 stdcall SHChangeNotifyDeregister (long) SHChangeNotifyDeregister 5 stub SHChangeNotifyUpdateEntryList@16 9 stub PifMgr_OpenProperties@16 10 stub PifMgr_GetProperties@20 11 stub PifMgr_SetProperties@20 13 stub PifMgr_CloseProperties@8 15 stdcall ILGetDisplayName(ptr ptr) ILGetDisplayName 16 stdcall ILFindLastID(ptr) ILFindLastID 17 stdcall ILRemoveLastID(ptr) ILRemoveLastID 18 stdcall ILClone(ptr) ILClone 19 stdcall ILCloneFirst (ptr) ILCloneFirst 20 stdcall ILGlobalClone (ptr) ILGlobalClone 21 stdcall ILIsEqual (ptr ptr) ILIsEqual 23 stdcall ILIsParent (long long long) ILIsParent 24 stdcall ILFindChild (long long) ILFindChild 25 stdcall ILCombine(ptr ptr) ILCombine 26 stdcall ILLoadFromStream (long long) ILLoadFromStream 27 stub ILSaveToStream@8 28 stdcall SHILCreateFromPath (long long long) SHILCreateFromPathAW 29 stdcall PathIsRoot(ptr) PathIsRootAW 30 stdcall PathBuildRoot(ptr long) PathBuildRootAW 31 stdcall PathFindExtension(ptr) PathFindExtensionAW 32 stdcall PathAddBackslash(ptr) PathAddBackslashAW 33 stdcall PathRemoveBlanks(ptr) PathRemoveBlanksAW 34 stdcall PathFindFileName(ptr) PathFindFileNameAW 35 stdcall PathRemoveFileSpec(ptr) PathRemoveFileSpecAW 36 stdcall PathAppend(ptr ptr) PathAppendAW 37 stdcall PathCombine(ptr ptr ptr) PathCombineAW 38 stdcall PathStripPath(ptr)PathStripPathAW 39 stdcall PathIsUNC (ptr) PathIsUNCAW 40 stdcall PathIsRelative (ptr) PathIsRelativeAW 43 stdcall PathIsExe (ptr) PathIsExeAW 45 stdcall PathFileExists(ptr) PathFileExistsAW 46 stdcall PathMatchSpec (ptr ptr) PathMatchSpecAW 47 stdcall PathMakeUniqueName (ptr long ptr ptr ptr)PathMakeUniqueNameAW 48 stdcall PathSetDlgItemPath (long long ptr) PathSetDlgItemPathAW 49 stdcall PathQualify (ptr) PathQualifyAW 50 stdcall PathStripToRoot (ptr) PathStripToRootAW 51 stdcall PathResolve(str long long) PathResolveAW 52 stdcall PathGetArgs(str) PathGetArgsAW 53 stdcall DoEnvironmentSubst (long long) DoEnvironmentSubstAW 54 stdcall DragAcceptFiles(long long) DragAcceptFiles 55 stdcall PathQuoteSpaces (ptr) PathQuoteSpacesAW 56 stdcall PathUnquoteSpaces(str) PathUnquoteSpacesAW 57 stdcall PathGetDriveNumber (str) PathGetDriveNumberAW 58 stdcall ParseField(str long ptr long) ParseFieldAW 59 stub RestartDialog@12 60 stdcall ExitWindowsDialog(long) ExitWindowsDialog 61 stdcall RunFileDlg(long long long str str long) RunFileDlg 62 stdcall PickIconDlg(long long long long) PickIconDlg 63 stdcall GetFileNameFromBrowse(long long long long str str str) GetFileNameFromBrowse 64 stdcall DriveType (long) DriveType 65 stub InvalidateDriveType 66 stub IsNetDrive 67 stdcall Shell_MergeMenus (long long long long long long) Shell_MergeMenus 68 stdcall SHGetSetSettings(long long long) SHGetSetSettings 69 stub SHGetNetResource 70 stdcall SHCreateDefClassObject(long long long long long)SHCreateDefClassObject 71 stdcall Shell_GetImageList(ptr ptr) Shell_GetImageList 72 stdcall Shell_GetCachedImageIndex(ptr ptr long) Shell_GetCachedImageIndexAW 73 stdcall SHShellFolderView_Message(long long long) SHShellFolderView_Message 74 stub SHCreateStdEnumFmtEtc 75 stdcall PathYetAnotherMakeUniqueName(ptr ptr ptr ptr) PathYetAnotherMakeUniqueNameA 76 stub DragQueryInfo 77 stdcall SHMapPIDLToSystemImageListIndex(long long long) SHMapPIDLToSystemImageListIndex 78 stdcall OleStrToStrN(str long wstr long) OleStrToStrNAW 79 stdcall StrToOleStrN(wstr long str long) StrToOleStrNAW 80 stdcall DragFinish(long) DragFinish 81 stdcall DragQueryFile(long long ptr long) DragQueryFileA 82 stdcall DragQueryFileA(long long ptr long) DragQueryFileA 83 stub CIDLData_CreateFromIDArray 84 stub SHIsBadInterfacePtr 85 forward OpenRegStream shlwapi.SHOpenRegStreamA 86 stdcall SHRegisterDragDrop(long ptr) SHRegisterDragDrop 87 stdcall SHRevokeDragDrop(long) SHRevokeDragDrop 88 stdcall SHDoDragDrop(long long long long long) SHDoDragDrop 89 stdcall SHCloneSpecialIDList(long long long) SHCloneSpecialIDList 90 stub SHFindFiles 91 stub SHFindComputer 92 stdcall PathGetShortPath (ptr) PathGetShortPathAW 93 stub Win32CreateDirectory 94 stub Win32RemoveDirectory 95 stdcall SHLogILFromFSIL (ptr) SHLogILFromFSIL 96 stdcall StrRetToStrN (long long long long) StrRetToStrNAW 97 stdcall SHWaitForFileToOpen (long long long) SHWaitForFileToOpen 98 stdcall SHGetRealIDL (long long long) SHGetRealIDL 99 stdcall SetAppStartingCursor (long long) SetAppStartingCursor 100 stdcall SHRestricted(long) SHRestricted 102 stdcall SHCoCreateInstance(ptr ptr long ptr ptr) SHCoCreateInstance 103 stdcall SignalFileOpen(long) SignalFileOpen 104 stdcall FileMenu_DeleteAllItems(long)FileMenu_DeleteAllItems 105 stdcall FileMenu_DrawItem(long ptr)FileMenu_DrawItem 106 stdcall FileMenu_FindSubMenuByPidl(long ptr)FileMenu_FindSubMenuByPidl 107 stdcall FileMenu_GetLastSelectedItemPidls(long ptr ptr)FileMenu_GetLastSelectedItemPidls 108 stdcall FileMenu_HandleMenuChar(long long)FileMenu_HandleMenuChar 109 stdcall FileMenu_InitMenuPopup (long) FileMenu_InitMenuPopup 110 stdcall FileMenu_InsertUsingPidl (long long ptr long long ptr) FileMenu_InsertUsingPidl 111 stdcall FileMenu_Invalidate (long) FileMenu_Invalidate 112 stdcall FileMenu_MeasureItem(long ptr)FileMenu_MeasureItem 113 stdcall FileMenu_ReplaceUsingPidl (long long ptr long ptr) FileMenu_ReplaceUsingPidl 114 stdcall FileMenu_Create (long long long long long) FileMenu_Create 115 stdcall FileMenu_AppendItem (long ptr long long long long) FileMenu_AppendItemAW 116 stdcall FileMenu_TrackPopupMenuEx (long long long long long long) FileMenu_TrackPopupMenuEx 117 stdcall FileMenu_DeleteItemByCmd(long long)FileMenu_DeleteItemByCmd 118 stdcall FileMenu_Destroy (long) FileMenu_Destroy 119 stdcall IsLFNDrive(str) IsLFNDriveA 120 stdcall FileMenu_AbortInitMenu () FileMenu_AbortInitMenu 121 stdcall SHFlushClipboard () SHFlushClipboard 122 stdcall RunDLL_CallEntry16 (long long long long long) RunDLL_CallEntry16 #name wrong? 123 stdcall SHFreeUnusedLibraries () SHFreeUnusedLibraries 124 stdcall FileMenu_AppendFilesForPidl(long ptr long)FileMenu_AppendFilesForPidl 125 stdcall FileMenu_AddFilesForPidl(long long long ptr long long ptr)FileMenu_AddFilesForPidl 126 stdcall SHOutOfMemoryMessageBox (long long long) SHOutOfMemoryMessageBox 127 stdcall SHWinHelp (long long long long) SHWinHelp 128 stdcall DllGetClassObject(long long ptr) SHELL32_DllGetClassObject 129 stub DAD_AutoScroll 130 stub DAD_DragEnter 131 stub DAD_DragEnterEx 132 stub DAD_DragLeave 133 stdcall DragQueryFileW(long long ptr long) DragQueryFileW 134 stub DAD_DragMove 135 stdcall DragQueryPoint(long ptr) DragQueryPoint 136 stdcall DAD_SetDragImage(long long) DAD_SetDragImage 137 stdcall DAD_ShowDragImage (long) DAD_ShowDragImage 139 stub Desktop_UpdateBriefcaseOnEvent 140 stdcall FileMenu_DeleteItemByIndex(long long) FileMenu_DeleteItemByIndex 141 stdcall FileMenu_DeleteItemByFirstID(long long)FileMenu_DeleteItemByFirstID 142 stdcall FileMenu_DeleteSeparator(long)FileMenu_DeleteSeparator 143 stdcall FileMenu_EnableItemByCmd(long long long)FileMenu_EnableItemByCmd 144 stdcall FileMenu_GetItemExtent (long long) FileMenu_GetItemExtent 145 stdcall PathFindOnPath (ptr ptr) PathFindOnPathAW 146 stdcall RLBuildListOfPaths()RLBuildListOfPaths 147 stdcall SHCLSIDFromString(long long) SHCLSIDFromStringAW 149 stdcall SHFind_InitMenuPopup(long long long long) SHFind_InitMenuPopup 151 stdcall SHLoadOLE (long) SHLoadOLE 152 stdcall ILGetSize(ptr) ILGetSize 153 stdcall ILGetNext(ptr) ILGetNext 154 stdcall ILAppend (long long long) ILAppend 155 stdcall ILFree (ptr) ILFree 156 stdcall ILGlobalFree (ptr) ILGlobalFree 157 stdcall ILCreateFromPath (ptr) ILCreateFromPathAW 158 stdcall PathGetExtension(str) PathGetExtensionAW 159 stdcall PathIsDirectory(ptr)PathIsDirectoryAW 160 stub SHNetConnectionDialog 161 stdcall SHRunControlPanel (long long) SHRunControlPanel 162 stdcall SHSimpleIDListFromPath (ptr) SHSimpleIDListFromPathAW 163 stdcall StrToOleStr (wstr str) StrToOleStrAW 164 stdcall Win32DeleteFile(str) Win32DeleteFile 165 stdcall SHCreateDirectory(long long) SHCreateDirectory 166 stub CallCPLEntry16 167 stub SHAddFromPropSheetExtArray 168 stub SHCreatePropSheetExtArray 169 stub SHDestroyPropSheetExtArray 170 stub SHReplaceFromPropSheetExtArray 171 stdcall PathCleanupSpec(ptr ptr) PathCleanupSpecAW 172 stub SHCreateLinks 173 stdcall SHValidateUNC(long long long)SHValidateUNC 174 stdcall SHCreateShellFolderViewEx (ptr ptr) SHCreateShellFolderViewEx 175 stdcall SHGetSpecialFolderPath(long long long long) SHGetSpecialFolderPathAW 176 stdcall SHSetInstanceExplorer (long) SHSetInstanceExplorer 177 stub DAD_SetDragImageFromListView 178 stub SHObjectProperties 179 stub SHGetNewLinkInfoA 180 stub SHGetNewLinkInfoW 181 stdcall RegisterShellHook(long long) RegisterShellHook 182 varargs ShellMessageBoxW(long long long str long) ShellMessageBoxW 183 varargs ShellMessageBoxA(long long long str long) ShellMessageBoxA 184 stdcall ArrangeWindows(long long long long long) ArrangeWindows 185 stub SHHandleDiskFull 195 stdcall SHFree(ptr) SHFree 196 stdcall SHAlloc(long) SHAlloc 197 stub SHGlobalDefect 198 stdcall SHAbortInvokeCommand () SHAbortInvokeCommand 199 stub SHGetFileIcon 200 stub SHLocalAlloc 201 stub SHLocalFree 202 stub SHLocalReAlloc 203 stub AddCommasW 204 stub ShortSizeFormatW 205 stub Printer_LoadIconsW 206 stub Link_AddExtraDataSection 207 stub Link_ReadExtraDataSection 208 stub Link_RemoveExtraDataSection 209 stub Int64ToString 210 stub LargeIntegerToString 211 stub Printers_GetPidl 212 stub Printer_AddPrinterPropPages 213 stub Printers_RegisterWindowW 214 stub Printers_UnregisterWindow 215 stub SHStartNetConnectionDialog@12 243 stdcall shell32_243(long long) shell32_243 244 stdcall SHInitRestricted(ptr ptr) SHInitRestricted 247 stdcall SHGetDataFromIDListA (ptr ptr long ptr long) SHGetDataFromIDListA 248 stdcall SHGetDataFromIDListW (ptr ptr long ptr long) SHGetDataFromIDListW 249 stdcall PathParseIconLocation (ptr) PathParseIconLocationAW 250 stdcall PathRemoveExtension (ptr) PathRemoveExtensionAW 251 stdcall PathRemoveArgs (ptr) PathRemoveArgsAW 271 stub SheChangeDirA 272 stub SheChangeDirExA 273 stub SheChangeDirExW 274 stdcall SheChangeDirW(wstr) SheChangeDirW 275 stub SheConvertPathW 276 stub SheFullPathA 277 stub SheFullPathW 278 stub SheGetCurDrive 279 stub SheGetDirA@8 280 stub SheGetDirExW@12 281 stdcall SheGetDirW (long long) SheGetDirW 282 stub SheGetPathOffsetW 283 stub SheRemoveQuotesA 284 stub SheRemoveQuotesW 285 stub SheSetCurDrive 286 stub SheShortenPathA 287 stub SheShortenPathW 288 stdcall ShellAboutA(long str str long) ShellAboutA 289 stdcall ShellAboutW(long wstr wstr long) ShellAboutW 290 stdcall ShellExecuteA(long str str str str long) ShellExecuteA 291 stdcall ShellExecuteEx (long) ShellExecuteExAW 292 stdcall ShellExecuteExA (long) ShellExecuteExA 293 stdcall ShellExecuteExW (long) ShellExecuteExW 294 stdcall ShellExecuteW (long wstr wstr wstr wstr long) ShellExecuteW 296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIconA 297 stdcall Shell_NotifyIconA(long ptr) Shell_NotifyIconA 298 stdcall Shell_NotifyIconW(long ptr) Shell_NotifyIconW 299 stub Shl1632_ThunkData32 300 stub Shl3216_ThunkData32 301 forward StrChrA shlwapi.StrChrA 302 stub StrChrIA 303 stub StrChrIW 304 forward StrChrW shlwapi.StrChrW 305 forward StrCmpNA shlwapi.StrCmpNA 306 forward StrCmpNIA shlwapi.StrCmpNIA 307 forward StrCmpNIW shlwapi.StrCmpNIW 308 forward StrCmpNW shlwapi.StrCmpNW 309 stdcall StrCpyNA (ptr str long) lstrcpynA 310 stdcall StrCpyNW (ptr wstr long)lstrcpynW 311 stub StrNCmpA 312 stub StrNCmpIA 313 stub StrNCmpIW 314 stub StrNCmpW 315 stdcall StrNCpyA (ptr str long) lstrcpynA 316 stdcall StrNCpyW (ptr wstr long)lstrcpynW 317 forward StrRChrA shlwapi.StrRChrA 318 stub StrRChrIA 319 stub StrRChrIW 320 forward StrRChrW shlwapi.StrRChrW 321 stub StrRStrA 322 stub StrRStrIA 323 stub StrRStrIW 324 stub StrRStrW 325 forward StrStrA shlwapi.StrStrA 326 forward StrStrIA shlwapi.StrStrIA 327 forward StrStrIW shlwapi.StrStrIW 328 forward StrStrW shlwapi.StrStrW 505 stdcall SHRegCloseKey (long) SHRegCloseKey 506 stdcall SHRegOpenKeyA (long str long) SHRegOpenKeyA 507 stdcall SHRegOpenKeyW (long wstr long) SHRegOpenKeyW 508 stub SHRegQueryValueA@16 509 stdcall SHRegQueryValueExA(long str ptr ptr ptr ptr) SHRegQueryValueExA 510 stdcall SHRegQueryValueW (long long long long) SHRegQueryValueW 511 stdcall SHRegQueryValueExW (long wstr ptr ptr ptr ptr) SHRegQueryValueExW 512 stdcall SHRegDeleteKeyW (long wstr) SHRegDeleteKeyW 520 stdcall SHAllocShared (long long long) SHAllocShared 521 stdcall SHLockShared (long long) SHLockShared 522 stdcall SHUnlockShared (long) SHUnlockShared 523 stdcall SHFreeShared (long long) SHFreeShared 524 stub RealDriveType@8 525 stub RealDriveTypeFlags@8 640 stdcall NTSHChangeNotifyRegister (long long long long long long) NTSHChangeNotifyRegister 641 stdcall NTSHChangeNotifyDeregister (long) NTSHChangeNotifyDeregister 643 stub SHChangeNotifyReceive@16 644 stub SHChangeNotification_Lock@16 645 stub SHChangeNotification_Unlock@4 646 stub SHChangeRegistrationReceive@8 647 stub ReceiveAddToRecentDocs@8 648 stub SHWaitOp_Operate@8 650 stdcall PathIsSameRoot(ptr ptr)PathIsSameRootAW # nt40/win98 651 stdcall ReadCabinetState (long long) ReadCabinetState # OldReadCabinetState 652 stdcall WriteCabinetState (long) WriteCabinetState 653 stdcall PathProcessCommand (long long long long) PathProcessCommandAW # win98 654 stdcall shell32_654(long long)shell32_654 # ReadCabinetState@8 660 stdcall FileIconInit(long)FileIconInit 680 stdcall IsUserAdmin()IsUserAdmin # >= NT5 714 stdcall SHELL32_714(ptr)SHELL32_714 # PathIsTemporaryW 1217 stub FOOBAR1217 # no joke! This is the real name!! # # version 4.0 (win95) # _WIN32_IE >= 0x0200 # @ stub CheckEscapesA @ stub CheckEscapesW @ stdcall CommandLineToArgvW(wstr ptr) CommandLineToArgvW @ stdcall Control_FillCache_RunDLL(long long long long)Control_FillCache_RunDLL @ stub Control_FillCache_RunDLLA @ stub Control_FillCache_RunDLLW @ stdcall Control_RunDLL(long long long long)Control_RunDLL @ stub Control_RunDLLA @ stub Control_RunDLLW @ stdcall DllInstall(long wstr)SHELL32_DllInstall @ stdcall DoEnvironmentSubstA(str str)DoEnvironmentSubstA @ stdcall DoEnvironmentSubstW(wstr wstr)DoEnvironmentSubstW @ stub DragQueryFileAorW @ stdcall DuplicateIcon(long long) DuplicateIcon @ stdcall ExtractAssociatedIconA(long ptr long)ExtractAssociatedIconA @ stub ExtractAssociatedIconExA @ stub ExtractAssociatedIconExW @ stub ExtractAssociatedIconW @ stdcall ExtractIconA(long str long)ExtractIconA @ stdcall ExtractIconEx(ptr long ptr ptr long)ExtractIconExAW @ stdcall ExtractIconExA(str long ptr ptr long)ExtractIconExA @ stdcall ExtractIconExW(wstr long ptr ptr long)ExtractIconExW @ stdcall ExtractIconW(long wstr long)ExtractIconW @ stub ExtractIconResInfoA @ stub ExtractIconResInfoW @ stub ExtractVersionResource16W @ stub FindExeDlgProc @ stdcall FindExecutableA(ptr ptr ptr) FindExecutableA @ stdcall FindExecutableW(wstr wstr wstr) FindExecutableW @ stdcall FreeIconList(long) FreeIconList @ stub InternalExtractIconListA @ stub InternalExtractIconListW @ stub OpenAs_RunDLL @ stub OpenAs_RunDLLA @ stub OpenAs_RunDLLW @ stub PrintersGetCommand_RunDLL @ stub PrintersGetCommand_RunDLLA @ stub PrintersGetCommand_RunDLLW @ stub RealShellExecuteA @ stub RealShellExecuteExA @ stub RealShellExecuteExW @ stub RealShellExecuteW @ stub RegenerateUserEnvironment @ stdcall SHAddToRecentDocs (long ptr) SHAddToRecentDocs @ stdcall SHAppBarMessage(long ptr) SHAppBarMessage @ stdcall SHBrowseForFolder(ptr) SHBrowseForFolderA @ stdcall SHBrowseForFolderA(ptr) SHBrowseForFolderA @ stub SHBrowseForFolderW@4 @ stdcall SHChangeNotify (long long ptr ptr) SHChangeNotifyAW @ stub ShellHookProc @ stub SHEmptyRecycleBinA@12 @ stub SHEmptyRecycleBinW@12 @ stdcall SHFileOperation(ptr)SHFileOperationAW @ stdcall SHFileOperationA(ptr)SHFileOperationA @ stdcall SHFileOperationW(ptr)SHFileOperationW @ stub SHFormatDrive@16 @ stub SHFreeNameMappings@4 @ stdcall SHGetDesktopFolder(ptr)SHGetDesktopFolder @ stdcall SHGetFileInfo(ptr long ptr long long)SHGetFileInfoAW @ stdcall SHGetFileInfoA(ptr long ptr long long)SHGetFileInfoA @ stdcall SHGetFileInfoW(ptr long ptr long long)SHGetFileInfoW @ stdcall SHGetInstanceExplorer(long)SHGetInstanceExplorer @ stdcall SHGetMalloc(ptr)SHGetMalloc @ stub SHGetNewLinkInfo@20 @ stdcall SHGetPathFromIDList(ptr ptr)SHGetPathFromIDListAW @ stdcall SHGetPathFromIDListA(long long)SHGetPathFromIDListA @ stdcall SHGetPathFromIDListW(long long)SHGetPathFromIDListW @ stdcall SHGetSettings(ptr long) SHGetSettings @ stdcall SHGetSpecialFolderLocation(long long ptr)SHGetSpecialFolderLocation @ stdcall SHHelpShortcuts_RunDLL(long long long long) SHHelpShortcuts_RunDLL @ stub SHHelpShortcuts_RunDLLA@16 @ stub SHHelpShortcuts_RunDLLW@16 @ stdcall SHLoadInProc(long) SHLoadInProc @ stub SHQueryRecycleBinA@8 @ stub SHQueryRecycleBinW@8 @ stub SHUpdateRecycleBinIcon@0 @ stub WOWShellExecute@28 # # version 4.70 (IE3.0) # _WIN32_IE >= 0x0300 # # # version 4.71 (IE4.0) # _WIN32_IE >= 0x0400 # @ stdcall DllCanUnloadNow() SHELL32_DllCanUnloadNow @ stdcall DllGetVersion(ptr)SHELL32_DllGetVersion @ stub SHGetFreeDiskSpace @ stdcall SHGetSpecialFolderPathA(long ptr long long) SHGetSpecialFolderPathA # # version 4.72 (IE4.01) # _WIN32_IE >= 0x0401 # no new exports # # # version 5.00 (Win2K) # _WIN32_IE >= 0x0500 # @ stdcall SHGetFolderPathA(long long long long ptr)SHGetFolderPathA @ stdcall SHGetFolderPathW(long long long long ptr)SHGetFolderPathW @ stdcall SHGetFolderLocation(long long long long ptr)SHGetFolderLocation