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 shlctrl)

# 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 stdcall SHChangeNotifyUpdateEntryList (long long long long) SHChangeNotifyUpdateEntryList
   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 (ptr ptr) ILLoadFromStream
  27 stdcall ILSaveToStream(ptr ptr) ILSaveToStream
  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 stdcall IsNetDrive(long) 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 stdcall CIDLData_CreateFromIDArray(ptr long ptr ptr) 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 long long) 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 stdcall CallCPLEntry16(long long long long long long) CallCPLEntry16
 167 stdcall SHAddFromPropSheetExtArray(long long long) SHAddFromPropSheetExtArray
 168 stdcall SHCreatePropSheetExtArray(long str long) SHCreatePropSheetExtArray
 169 stdcall SHDestroyPropSheetExtArray(long) SHDestroyPropSheetExtArray
 170 stdcall SHReplaceFromPropSheetExtArray(long long long long) 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 @(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 forward StrChrIA shlwapi.StrChrIA
 303 forward StrChrIW shlwapi.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 forward StrCpyNW shlwapi.StrCpyNW
 311 forward StrNCmpA shlwapi.StrCmpNA
 312 forward StrNCmpIA shlwapi.StrCmpNIA
 313 forward StrNCmpIW shlwapi.StrCmpNIW
 314 forward StrNCmpW shlwapi.StrCmpNW
 315 stdcall StrNCpyA (ptr str long) lstrcpynA
 316 forward StrNCpyW shlwapi.StrNCpyW
 317 forward StrRChrA shlwapi.StrRChrA
 318 forward StrRChrIA shlwapi.StrRChrIA
 319 forward StrRChrIW shlwapi.StrRChrIW
 320 forward StrRChrW shlwapi.StrRChrW
 321 stub StrRStrA
 322 forward StrRStrIA shlwapi.StrRStrIA
 323 forward StrRStrIW shlwapi.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 @(long long)shell32_654 # ReadCabinetState@8
 660 stdcall FileIconInit(long)FileIconInit
 680 stdcall IsUserAdmin()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 long ptr ptr long) CheckEscapesA
@ stdcall CheckEscapesW(wstr long long ptr ptr long) 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 
@ stdcall ExtractAssociatedIconExW(long long long long)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
@ stdcall SHGetSpecialFolderPathW(long ptr long long) SHGetSpecialFolderPathW
#
# 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
