# 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 ptr) 4 stdcall SHChangeNotifyDeregister (long) 5 stdcall SHChangeNotifyUpdateEntryList (long long long long) 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) 16 stdcall ILFindLastID(ptr) 17 stdcall ILRemoveLastID(ptr) 18 stdcall ILClone(ptr) 19 stdcall ILCloneFirst (ptr) 20 stdcall ILGlobalClone (ptr) 21 stdcall ILIsEqual (ptr ptr) 23 stdcall ILIsParent (ptr ptr long) 24 stdcall ILFindChild (ptr ptr) 25 stdcall ILCombine(ptr ptr) 26 stdcall ILLoadFromStream (ptr ptr) 27 stdcall ILSaveToStream(ptr ptr) 28 stdcall SHILCreateFromPath(ptr ptr ptr) 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) 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) 61 stdcall RunFileDlg(long long long str str long) 62 stdcall PickIconDlg(long long long long) 63 stdcall GetFileNameFromBrowse(long long long long str str str) 64 stdcall DriveType (long) 65 stub InvalidateDriveType 66 stdcall IsNetDrive(long) 67 stdcall Shell_MergeMenus (long long long long long long) 68 stdcall SHGetSetSettings(ptr long long) 69 stub SHGetNetResource 70 stdcall SHCreateDefClassObject(long long long long long) 71 stdcall Shell_GetImageList(ptr ptr) 72 stdcall Shell_GetCachedImageIndex(ptr ptr long) Shell_GetCachedImageIndexAW 73 stdcall SHShellFolderView_Message(long long long) 74 stdcall SHCreateStdEnumFmtEtc(long ptr ptr) 75 stdcall PathYetAnotherMakeUniqueName(ptr ptr ptr ptr) PathYetAnotherMakeUniqueNameA 76 stub DragQueryInfo 77 stdcall SHMapPIDLToSystemImageListIndex(ptr ptr ptr) 78 stdcall OleStrToStrN(str long wstr long) OleStrToStrNAW 79 stdcall StrToOleStrN(wstr long str long) StrToOleStrNAW 80 stdcall DragFinish(long) 81 stdcall DragQueryFile(long long ptr long) DragQueryFileA 82 stdcall DragQueryFileA(long long ptr long) 83 stdcall CIDLData_CreateFromIDArray(ptr long ptr ptr) 84 stub SHIsBadInterfacePtr 85 stdcall OpenRegStream(long str str long) shlwapi.SHOpenRegStreamA 86 stdcall SHRegisterDragDrop(long ptr) 87 stdcall SHRevokeDragDrop(long) 88 stdcall SHDoDragDrop(long ptr ptr long ptr) 89 stdcall SHCloneSpecialIDList(long long long) 90 stub SHFindFiles 91 stub SHFindComputer 92 stdcall PathGetShortPath (ptr) PathGetShortPathAW 93 stdcall Win32CreateDirectory(wstr ptr) Win32CreateDirectoryAW 94 stdcall Win32RemoveDirectory(wstr) Win32RemoveDirectoryAW 95 stdcall SHLogILFromFSIL (ptr) 96 stdcall StrRetToStrN (ptr long ptr ptr) StrRetToStrNAW 97 stdcall SHWaitForFileToOpen (long long long) 98 stdcall SHGetRealIDL (long long long) 99 stdcall SetAppStartingCursor (long long) 100 stdcall SHRestricted(long) 102 stdcall SHCoCreateInstance(ptr ptr long ptr ptr) 103 stdcall SignalFileOpen(long) 104 stdcall FileMenu_DeleteAllItems(long) 105 stdcall FileMenu_DrawItem(long ptr) 106 stdcall FileMenu_FindSubMenuByPidl(long ptr) 107 stdcall FileMenu_GetLastSelectedItemPidls(long ptr ptr) 108 stdcall FileMenu_HandleMenuChar(long long) 109 stdcall FileMenu_InitMenuPopup (long) 110 stdcall FileMenu_InsertUsingPidl (long long ptr long long ptr) 111 stdcall FileMenu_Invalidate (long) 112 stdcall FileMenu_MeasureItem(long ptr) 113 stdcall FileMenu_ReplaceUsingPidl (long long ptr long ptr) 114 stdcall FileMenu_Create (long long long long long) 115 stdcall FileMenu_AppendItem (long ptr long long long long) FileMenu_AppendItemAW 116 stdcall FileMenu_TrackPopupMenuEx (long long long long long long) 117 stdcall FileMenu_DeleteItemByCmd(long long) 118 stdcall FileMenu_Destroy (long) 119 stdcall IsLFNDrive(str) IsLFNDriveA 120 stdcall FileMenu_AbortInitMenu () 121 stdcall SHFlushClipboard () 122 stdcall RunDLL_CallEntry16 (long long long long long) #name wrong? 123 stdcall SHFreeUnusedLibraries () 124 stdcall FileMenu_AppendFilesForPidl(long ptr long) 125 stdcall FileMenu_AddFilesForPidl(long long long ptr long long ptr) 126 stdcall SHOutOfMemoryMessageBox (long long long) 127 stdcall SHWinHelp (long long long long) 128 stdcall DllGetClassObject(long long ptr) SHELL32_DllGetClassObject 129 stdcall DAD_AutoScroll(long ptr ptr) 130 stdcall DAD_DragEnter(long) 131 stdcall DAD_DragEnterEx(long long long) 132 stdcall DAD_DragLeave() 133 stdcall DragQueryFileW(long long ptr long) 134 stdcall DAD_DragMove(long long) 135 stdcall DragQueryPoint(long ptr) 136 stdcall DAD_SetDragImage(long long) 137 stdcall DAD_ShowDragImage (long) 139 stub Desktop_UpdateBriefcaseOnEvent 140 stdcall FileMenu_DeleteItemByIndex(long long) 141 stdcall FileMenu_DeleteItemByFirstID(long long) 142 stdcall FileMenu_DeleteSeparator(long) 143 stdcall FileMenu_EnableItemByCmd(long long long) 144 stdcall FileMenu_GetItemExtent (long long) 145 stdcall PathFindOnPath (ptr ptr) PathFindOnPathAW 146 stdcall RLBuildListOfPaths() 147 stdcall SHCLSIDFromString(long long) SHCLSIDFromStringAW 149 stdcall SHFind_InitMenuPopup(long long long long) 151 stdcall SHLoadOLE (long) 152 stdcall ILGetSize(ptr) 153 stdcall ILGetNext(ptr) 154 stdcall ILAppend (long long long) 155 stdcall ILFree (ptr) 156 stdcall ILGlobalFree (ptr) 157 stdcall ILCreateFromPath (ptr) ILCreateFromPathAW 158 stdcall PathGetExtension(str long long) PathGetExtensionAW 159 stdcall PathIsDirectory(ptr)PathIsDirectoryAW 160 stub SHNetConnectionDialog 161 stdcall SHRunControlPanel (long long) 162 stdcall SHSimpleIDListFromPath (ptr) SHSimpleIDListFromPathAW 163 stdcall StrToOleStr (wstr str) StrToOleStrAW 164 stdcall Win32DeleteFile(str) Win32DeleteFileAW 165 stdcall SHCreateDirectory(long ptr) 166 stdcall CallCPLEntry16(long long long long long long) 167 stdcall SHAddFromPropSheetExtArray(long long long) 168 stdcall SHCreatePropSheetExtArray(long str long) 169 stdcall SHDestroyPropSheetExtArray(long) 170 stdcall SHReplaceFromPropSheetExtArray(long long long long) 171 stdcall PathCleanupSpec(ptr ptr) PathCleanupSpecAW 172 stub SHCreateLinks 173 stdcall SHValidateUNC(long long long) 174 stdcall SHCreateShellFolderViewEx (ptr ptr) 175 stdcall SHGetSpecialFolderPath(long long long long) SHGetSpecialFolderPathAW 176 stdcall SHSetInstanceExplorer (long) 177 stub DAD_SetDragImageFromListView 178 stub SHObjectProperties 179 stub SHGetNewLinkInfoA 180 stub SHGetNewLinkInfoW 181 stdcall RegisterShellHook(long long) 182 varargs ShellMessageBoxW(long long long str long) 183 varargs ShellMessageBoxA(long long long str long) 184 stdcall ArrangeWindows(long long long long long) 185 stub SHHandleDiskFull 186 stdcall ILGetDisplayNameEx(ptr ptr ptr long) 195 stdcall SHFree(ptr) 196 stdcall SHAlloc(long) 197 stub SHGlobalDefect 198 stdcall 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 Printers_AddPrinterPropPages 213 stub Printers_RegisterWindowW 214 stub Printers_UnregisterWindow 215 stub SHStartNetConnectionDialog@12 243 stdcall @(long long) shell32_243 244 stdcall SHInitRestricted(ptr ptr) 247 stdcall SHGetDataFromIDListA (ptr ptr long ptr long) 248 stdcall SHGetDataFromIDListW (ptr ptr long ptr long) 249 stdcall PathParseIconLocation (ptr) PathParseIconLocationAW 250 stdcall PathRemoveExtension (ptr) PathRemoveExtensionAW 251 stdcall PathRemoveArgs (ptr) PathRemoveArgsAW 256 stdcall @(ptr ptr) SHELL32_256 271 stub SheChangeDirA 272 stub SheChangeDirExA 273 stub SheChangeDirExW 274 stdcall SheChangeDirW(wstr) 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) 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) 289 stdcall ShellAboutW(long wstr wstr long) 290 stdcall ShellExecuteA(long str str str str long) 291 stdcall ShellExecuteEx (long) ShellExecuteExAW 292 stdcall ShellExecuteExA (long) 293 stdcall ShellExecuteExW (long) 294 stdcall ShellExecuteW (long wstr wstr wstr wstr long) 296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIconA 297 stdcall Shell_NotifyIconA(long ptr) 298 stdcall Shell_NotifyIconW(long ptr) 299 stub Shl1632_ThunkData32 300 stub Shl3216_ThunkData32 301 stdcall StrChrA(str long) shlwapi.StrChrA 302 stdcall StrChrIA(str long) shlwapi.StrChrIA 303 stdcall StrChrIW(wstr long) shlwapi.StrChrIW 304 stdcall StrChrW(wstr long) shlwapi.StrChrW 305 stdcall StrCmpNA(str str long) shlwapi.StrCmpNA 306 stdcall StrCmpNIA(str str long) shlwapi.StrCmpNIA 307 stdcall StrCmpNIW(wstr wstr long) shlwapi.StrCmpNIW 308 stdcall StrCmpNW(wstr wstr long) shlwapi.StrCmpNW 309 stdcall StrCpyNA (ptr str long) lstrcpynA 310 stdcall StrCpyNW(wstr wstr long) shlwapi.StrCpyNW 311 stdcall StrNCmpA(str str long) shlwapi.StrCmpNA 312 stdcall StrNCmpIA(str str long) shlwapi.StrCmpNIA 313 stdcall StrNCmpIW(wstr wstr long) shlwapi.StrCmpNIW 314 stdcall StrNCmpW(wstr wstr long) shlwapi.StrCmpNW 315 stdcall StrNCpyA (ptr str long) lstrcpynA 316 stdcall StrNCpyW(wstr wstr long) shlwapi.StrCpyNW 317 stdcall StrRChrA(str str long) shlwapi.StrRChrA 318 stdcall StrRChrIA(str str long) shlwapi.StrRChrIA 319 stdcall StrRChrIW(str str long) shlwapi.StrRChrIW 320 stdcall StrRChrW(wstr wstr long) shlwapi.StrRChrW 321 stub StrRStrA 322 stdcall StrRStrIA(str str str) shlwapi.StrRStrIA 323 stdcall StrRStrIW(wstr wstr wstr) shlwapi.StrRStrIW 324 stub StrRStrW 325 stdcall StrStrA(str str) shlwapi.StrStrA 326 stdcall StrStrIA(str str) shlwapi.StrStrIA 327 stdcall StrStrIW(wstr wstr) shlwapi.StrStrIW 328 stdcall StrStrW(wstr wstr) shlwapi.StrStrW 505 stdcall SHRegCloseKey (long) 506 stdcall SHRegOpenKeyA (long str long) 507 stdcall SHRegOpenKeyW (long wstr long) 508 stub SHRegQueryValueA@16 509 stdcall SHRegQueryValueExA(long str ptr ptr ptr ptr) 510 stdcall SHRegQueryValueW (long long long long) 511 stdcall SHRegQueryValueExW (long wstr ptr ptr ptr ptr) 512 stdcall SHRegDeleteKeyW (long wstr) 520 stdcall SHAllocShared (long long long) 521 stdcall SHLockShared (long long) 522 stdcall SHUnlockShared (long) 523 stdcall SHFreeShared (long long) 524 stub RealDriveType@8 525 stub RealDriveTypeFlags@8 640 stdcall NTSHChangeNotifyRegister (long long long long long long) 641 stdcall NTSHChangeNotifyDeregister (long) 643 stub SHChangeNotifyReceive@16 644 stdcall SHChangeNotification_Lock(long long ptr ptr) 645 stdcall SHChangeNotification_Unlock(long) 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) # OldReadCabinetState 652 stdcall WriteCabinetState (long) 653 stdcall PathProcessCommand (long long long long) PathProcessCommandAW # win98 654 stdcall @(long long)shell32_654 # ReadCabinetState@8 660 stdcall FileIconInit(long) 680 stdcall IsUserAdmin() # >= NT5 714 stdcall @(ptr)SHELL32_714 # PathIsTemporaryW 1217 stub FOOBAR1217 # no joke! This is the real name!! # # version 4.0 (win95) # _WIN32_IE >= 0x0200 # @ stdcall CheckEscapesA(str long) @ stdcall CheckEscapesW(wstr long) @ stdcall CommandLineToArgvW(wstr ptr) @ stdcall Control_FillCache_RunDLL(long long long long) Control_FillCache_RunDLLA @ stdcall Control_FillCache_RunDLLA(long long long long) @ stdcall Control_FillCache_RunDLLW(long long long long) @ stdcall Control_RunDLL(ptr ptr str long) Control_RunDLLA @ stdcall Control_RunDLLA(ptr ptr str long) @ stdcall Control_RunDLLW(ptr ptr wstr long) @ stdcall DllInstall(long wstr)SHELL32_DllInstall @ stdcall DoEnvironmentSubstA(str str) @ stdcall DoEnvironmentSubstW(wstr wstr) @ stub DragQueryFileAorW @ stdcall DuplicateIcon(long long) @ stdcall ExtractAssociatedIconA(long ptr long) @ stdcall ExtractAssociatedIconExA(long str long long) @ stdcall ExtractAssociatedIconExW(long wstr long long) @ stub ExtractAssociatedIconW @ stdcall ExtractIconA(long str long) @ stdcall ExtractIconEx(ptr long ptr ptr long)ExtractIconExAW @ stdcall ExtractIconExA(str long ptr ptr long) @ stdcall ExtractIconExW(wstr long ptr ptr long) @ stdcall ExtractIconW(long wstr long) @ stub ExtractIconResInfoA @ stub ExtractIconResInfoW @ stub ExtractVersionResource16W @ stub FindExeDlgProc @ stdcall FindExecutableA(ptr ptr ptr) @ stdcall FindExecutableW(wstr wstr wstr) @ stdcall FreeIconList(long) @ 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) @ stdcall SHAppBarMessage(long ptr) @ stdcall SHBrowseForFolder(ptr) SHBrowseForFolderA @ stdcall SHBrowseForFolderA(ptr) @ stdcall SHBrowseForFolderW(ptr) @ stdcall SHChangeNotify (long long ptr ptr) @ stdcall SHCreateDirectoryExA(long str ptr) @ stdcall SHCreateDirectoryExW(long wstr ptr) @ stub ShellHookProc @ stub SHEmptyRecycleBinA@12 @ stub SHEmptyRecycleBinW@12 @ stdcall SHFileOperation(ptr)SHFileOperationAW @ stdcall SHFileOperationA(ptr) @ stdcall SHFileOperationW(ptr) @ stub SHFormatDrive@16 @ stub SHFreeNameMappings@4 @ stdcall SHGetDesktopFolder(ptr) @ stdcall SHGetFileInfo(ptr long ptr long long)SHGetFileInfoAW @ stdcall SHGetFileInfoA(ptr long ptr long long) @ stdcall SHGetFileInfoW(ptr long ptr long long) @ stdcall SHGetInstanceExplorer(long) @ stdcall SHGetMalloc(ptr) @ stub SHGetNewLinkInfo@20 @ stdcall SHGetPathFromIDList(ptr ptr)SHGetPathFromIDListAW @ stdcall SHGetPathFromIDListA(ptr ptr) @ stdcall SHGetPathFromIDListW(ptr ptr) @ stdcall SHGetSettings(ptr long) @ stdcall SHGetSpecialFolderLocation(long long ptr) @ stdcall SHHelpShortcuts_RunDLL(long long long long) @ stub SHHelpShortcuts_RunDLLA@16 @ stub SHHelpShortcuts_RunDLLW@16 @ stdcall SHLoadInProc(long) @ 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) @ stdcall SHGetSpecialFolderPathW(long ptr long long) # # version 4.72 (IE4.01) # _WIN32_IE >= 0x0401 # no new exports # # # version 5.00 (Win2K) # _WIN32_IE >= 0x0500 # @ stdcall SHGetDiskFreeSpaceA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA @ stdcall SHGetDiskFreeSpaceExA(str ptr ptr ptr) kernel32.GetDiskFreeSpaceExA @ stdcall SHGetDiskFreeSpaceExW(wstr ptr ptr ptr) kernel32.GetDiskFreeSpaceExW @ stdcall SHGetFolderPathA(long long long long ptr) @ stdcall SHGetFolderPathW(long long long long ptr) @ stdcall SHGetFolderLocation(long long long long ptr) # version 6.0 (WinXP) # _WIN32_IE >= 0x600 @ stdcall SHDefExtractIconA(str long long ptr ptr long) @ stdcall SHDefExtractIconW(wstr long long ptr ptr long)