windows-nt/Source/XPSP1/NT/shell/shell32/shell32.src
2020-09-26 16:20:57 +08:00

630 lines
27 KiB
Plaintext

LIBRARY SHELL32
EXPORTS
;;
;; !!! READ THIS !!!
;;
;; private exports use NONAME and define an ordinal
;; public APIs should not use an ordinal
;;
;; what ordinals are available. The fewer the gaps, the smaller
;; the table. Keep this list up to date.
DragAcceptFiles
DragFinish
DragQueryPoint
DragQueryFileA
DragQueryFile=DragQueryFileA
ShellExecuteA
FindExecutableA
ShellAboutA
FreeIconList
DoEnvironmentSubstA
ExtractIconA
ExtractAssociatedIconA
SheGetCurDrive
SheSetCurDrive
DuplicateIcon
CheckEscapesA
CheckEscapesW
DragQueryFileAorW
SheChangeDirA
SheFullPathA
SheGetDirA
RealShellExecuteA
RealShellExecuteExA
RegenerateUserEnvironment
SheChangeDirW
SheFullPathW
SheGetDirW
RealShellExecuteW
RealShellExecuteExW
ShellExecuteW
FindExecutableW
ShellAboutW
ExtractAssociatedIconW
ExtractAssociatedIconExA
ExtractAssociatedIconExW
ExtractIconW
ExtractIconResInfoA
ExtractIconResInfoW
DragQueryFileW
InternalExtractIconListA
InternalExtractIconListW
DoEnvironmentSubstW
ExtractVersionResource16W
SheGetDirExW
SheChangeDirExW
SheGetPathOffsetW
; Forward all of these old string functions over to SHLWAPI.DLL
;
; These functions are ULTRAPRIVATE because nobody should be
; linking to them. Everybody should be using the shlwapi versions.
; They exist here only for backwards compat reasons.
;
StrChrA ULTRAPRIVATE
StrRChrA ULTRAPRIVATE
StrChrIA ULTRAPRIVATE
StrRChrIA ULTRAPRIVATE
StrCmpNA ULTRAPRIVATE
StrCmpNIA ULTRAPRIVATE
StrStrA ULTRAPRIVATE
StrStrIA ULTRAPRIVATE
StrRStrIA ULTRAPRIVATE
StrChrW ULTRAPRIVATE
StrRChrW ULTRAPRIVATE
StrChrIW ULTRAPRIVATE
StrRChrIW ULTRAPRIVATE
StrCmpNW ULTRAPRIVATE
StrCmpNIW ULTRAPRIVATE
StrStrW ULTRAPRIVATE
StrStrIW ULTRAPRIVATE
StrRStrIW ULTRAPRIVATE
;
; These are NOT in comctl32. We exported them from shell32, so we keep doing so
; god only knows who uses them...
;
StrCpyNA = Shell32_StrCpyNA ULTRAPRIVATE ; need wrapper since this is slightly different (return # bytes copied, not cch)
StrCpyNW = Shell32_StrCpyNW ULTRAPRIVATE ; need wrapper since this is slightly different (return # bytes copied, not cch)
StrNCmpA ULTRAPRIVATE
StrNCmpW ULTRAPRIVATE
StrNCmpIA ULTRAPRIVATE
StrNCmpIW ULTRAPRIVATE
StrNCpyA ULTRAPRIVATE
StrNCpyW ULTRAPRIVATE
StrRStrA ULTRAPRIVATE
StrRStrW ULTRAPRIVATE
SheChangeDirExA
SheRemoveQuotesA
SheRemoveQuotesW
SheConvertPathW
SheShortenPathA
SheShortenPathW
CommandLineToArgvW
FindExeDlgProc
ShellHookProc
WOWShellExecute
SHLoadInProc
SHEnableServiceObject PRIVATE
SHGetInstanceExplorer
SHAddToRecentDocs
SHGetDataFromIDListA
SHGetDataFromIDListW
SHGetMalloc
SHGetDesktopFolder
SHChangeNotify
SHGetSpecialFolderLocation
ExtractIconEx = ExtractIconExA
SHGetFileInfo = SHGetFileInfoA
ShellExecuteEx = ShellExecuteExA
Shell_NotifyIcon = Shell_NotifyIconA
SHGetPathFromIDList = SHGetPathFromIDListA
SHBrowseForFolder = SHBrowseForFolderA
SHFileOperation = SHFileOperationA
SHInvokePrinterCommandA
SHInvokePrinterCommandW
SHFreeNameMappings
SHAppBarMessage
SHFormatDrive
SHGetSettings
SHGetDiskFreeSpaceA = SHGetDiskFreeSpaceExA
SHGetDiskFreeSpaceExA
SHGetDiskFreeSpaceExW
SHExtractIconsW
SHGetSpecialFolderPathA
SHGetSpecialFolderPathW
SHGetFolderPathA
SHGetFolderPathW
SHGetFolderLocation
; X86 emulation mode on Alpha requires this!
SHUpdateRecycleBinIcon
ExtractIconExA
ExtractIconExW
SHGetFileInfoA
SHGetFileInfoW
SHGetPathFromIDListA
SHGetPathFromIDListW
SHBrowseForFolderA
SHBrowseForFolderW
ShellExecuteExA
ShellExecuteExW
Shell_NotifyIconA
Shell_NotifyIconW
SHFileOperationA
SHFileOperationW
SHQueryRecycleBinA
SHQueryRecycleBinW
SHEmptyRecycleBinA
SHEmptyRecycleBinW
SHCreateProcessAsUserW
SHBindToParent
SHCreateShellItem
SHSetLocalizedName
SHEnumerateUnreadMailAccountsW
SHGetUnreadMailCountW
SHSetUnreadMailCountW
SHCreateQueryCancelAutoPlayMoniker
SHParseDisplayName
; Exports to be GetProcAddressed.
; marked ULTRAPRIVATE so then dont end up in SHELL32.LIB
DllGetClassObject ULTRAPRIVATE
DllCanUnloadNow ULTRAPRIVATE
DllGetVersion = CCDllGetVersion ULTRAPRIVATE
DllInstall ULTRAPRIVATE
DllRegisterServer ULTRAPRIVATE
DllUnregisterServer ULTRAPRIVATE
Control_RunDLL PRIVATE
Control_RunDLLA = Control_RunDLL PRIVATE
Control_RunDLLW PRIVATE
Control_RunDLLAsUserW PRIVATE
Control_FillCache_RunDLL PRIVATE
Control_FillCache_RunDLLA = Control_FillCache_RunDLL PRIVATE
Control_FillCache_RunDLLW PRIVATE
OpenAs_RunDLL PRIVATE
OpenAs_RunDLLA = OpenAs_RunDLL PRIVATE
OpenAs_RunDLLW PRIVATE
PrintersGetCommand_RunDLL PRIVATE
PrintersGetCommand_RunDLLA = PrintersGetCommand_RunDLL PRIVATE
PrintersGetCommand_RunDLLW PRIVATE
SHHelpShortcuts_RunDLL PRIVATE
SHHelpShortcuts_RunDLLA = SHHelpShortcuts_RunDLL PRIVATE
SHHelpShortcuts_RunDLLW PRIVATE
ShellExec_RunDLLA PRIVATE
ShellExec_RunDLLW PRIVATE
ShellExec_RunDLL = ShellExec_RunDLLA PRIVATE
Options_RunDLLA PRIVATE
Options_RunDLLW PRIVATE
Options_RunDLL = Options_RunDLLA PRIVATE
AppCompat_RunDLLW PRIVATE
Activate_RunDLL PRIVATE
; Make sure to keep SHChangeNotifyRegisterORD updated in shlobj.h
SHChangeNotifyRegister @2
SHDefExtractIconA @3
; Make sure to keep SHChangeNotifyDeregisterORD updated in shlobj.h
SHChangeNotifyDeregister @4
SHChangeNotifyUpdateEntryList @5 NONAME PRIVATE
SHDefExtractIconW @6
SHLookupIconIndexA @7 NONAME PRIVATE
SHLookupIconIndexW @8 NONAME PRIVATE
PifMgr_OpenProperties @9
PifMgr_GetProperties @10
PifMgr_SetProperties @11
SHStartNetConnectionDialogA @12 NONAME PRIVATE
PifMgr_CloseProperties @13
SHStartNetConnectionDialogW @14
ILGetDisplayName @15 NONAME PRIVATE
ILFindLastID @16
ILRemoveLastID @17
ILClone @18
ILCloneFirst @19
ILGlobalClone @20 NONAME PRIVATE
ILIsEqual @21
DAD_DragEnterEx2 @22
ILIsParent @23
ILFindChild @24
ILCombine @25
ILLoadFromStream @26
ILSaveToStream @27
SHILCreateFromPath @28
PathIsRoot @29 NONAME PRIVATE
PathBuildRoot = shlwapi.PathBuildRootW @30 NONAME PRIVATE
; Ordinal #define'd in SHSEMIP.H
PathFindExtension @31 NONAME PRIVATE
PathAddBackslash @32 NONAME PRIVATE
; Ordinal #define'd in SHSEMIP.H
PathRemoveBlanks @33 NONAME PRIVATE
; Ordinal #define'd in SHSEMIP.H
PathFindFileName @34 NONAME PRIVATE
PathRemoveFileSpec @35 NONAME PRIVATE
PathAppend @36 NONAME PRIVATE
PathCombine = shlwapi.PathCombineW @37 NONAME PRIVATE
PathStripPath @38 NONAME PRIVATE
PathIsUNC = shlwapi.PathIsUNCW @39 NONAME PRIVATE
PathIsRelative = shlwapi.PathIsRelativeW @40 NONAME PRIVATE
IsLFNDriveA @41
IsLFNDriveW @42
PathIsExe @43
PathFileExists @45 NONAME PRIVATE
PathMatchSpec @46 NONAME PRIVATE
PathMakeUniqueName @47
PathSetDlgItemPath @48 NONAME PRIVATE
PathQualify @49
PathStripToRoot @50 NONAME PRIVATE
PathResolve @51
PathGetArgs @52 NONAME PRIVATE
IsSuspendAllowed @53 NONAME PRIVATE
LogoffWindowsDialog @54 NONAME PRIVATE
PathQuoteSpaces @55 NONAME PRIVATE
PathUnquoteSpaces @56 NONAME PRIVATE
PathGetDriveNumber = shlwapi.PathGetDriveNumberW @57 NONAME PRIVATE
ParseField @58 NONAME PRIVATE
RestartDialog @59
ExitWindowsDialog @60 NONAME PRIVATE
RunFileDlg @61 NONAME PRIVATE
PickIconDlg @62
GetFileNameFromBrowse @63
DriveType @64
InvalidateDriveType @65 NONAME PRIVATE
IsNetDrive @66
Shell_MergeMenus @67
SHGetSetSettings @68
SHGetNetResource @69 NONAME PRIVATE
SHCreateDefClassObject @70 NONAME PRIVATE
Shell_GetImageLists @71
Shell_GetCachedImageIndex @72
SHShellFolderView_Message @73
SHCreateStdEnumFmtEtc @74
PathYetAnotherMakeUniqueName @75
DragQueryInfo @76 NONAME PRIVATE
SHMapPIDLToSystemImageListIndex @77
OleStrToStrN @78 NONAME PRIVATE
StrToOleStrN @79 NONAME PRIVATE
SHOpenPropSheetW @80
DDECreatePostNotify @82 NONAME PRIVATE
CIDLData_CreateFromIDArray @83 NONAME PRIVATE
SHIsBadInterfacePtr @84 NONAME PRIVATE
OpenRegStream @85
SHRegisterDragDrop @86 NONAME PRIVATE
SHRevokeDragDrop @87 NONAME PRIVATE
SHDoDragDrop @88
SHCloneSpecialIDList @89
SHFindFiles @90
SHFindComputer @91 NONAME PRIVATE
PathGetShortPath @92
Win32CreateDirectory @93 NONAME PRIVATE
Win32RemoveDirectory @94 NONAME PRIVATE
SHLogILFromFSIL @95 NONAME PRIVATE
StrRetToStrN @96 NONAME PRIVATE
SHWaitForFileToOpen @97 NONAME PRIVATE
SHGetRealIDL @98
SetAppStartingCursor @99 NONAME PRIVATE
SHRestricted @100
SHCoCreateInstance @102
SignalFileOpen @103
IsLFNDrive = IsLFNDriveW @119 ; old TCHAR export needs to be maintaied for compat
SHFlushClipboard @121
RunDll_CallEntry16 @122 NONAME PRIVATE
SHFreeUnusedLibraries @123 NONAME PRIVATE
SHOutOfMemoryMessageBox @126 NONAME PRIVATE
SHWinHelp @127 NONAME PRIVATE
SHDllGetClassObject = DllGetClassObject @128 NONAME PRIVATE
DAD_AutoScroll @129
DAD_DragEnter @130 NONAME PRIVATE
DAD_DragEnterEx @131
DAD_DragLeave @132
DAD_DragMove @134
DAD_SetDragImage @136
DAD_ShowDragImage @137
; (unused) Desktop_UpdateBriefcaseOnEvent @139 NONAME PRIVATE
PathFindOnPath @145 NONAME PRIVATE
RLBuildListOfPaths @146 NONAME PRIVATE
SHCLSIDFromString @147
SHMapIDListToImageListIndexAsync @148
SHFind_InitMenuPopup @149
SHLoadOLE @151
ILGetSize @152
ILGetNext @153
ILAppendID @154
ILFree @155
ILGlobalFree @156 NONAME PRIVATE
ILCreateFromPath = ILCreateFromPathW @157
; Ordinal #define'd in SHSEMIP.H
PathGetExtension @158 NONAME PRIVATE
PathIsDirectory @159 NONAME PRIVATE
SHNetConnectionDialog @160 NONAME PRIVATE
SHRunControlPanel @161
SHSimpleIDListFromPath @162
StrToOleStr @163 NONAME PRIVATE
Win32DeleteFile @164
SHCreateDirectory @165
CallCPLEntry16 @166
SHAddFromPropSheetExtArray @167
SHCreatePropSheetExtArray @168
SHDestroyPropSheetExtArray @169
SHReplaceFromPropSheetExtArray @170
PathCleanupSpec @171
SHCreateLinks @172 NONAME PRIVATE
; Make sure to keep SHValidateUNCORD updated in shellp.h
SHValidateUNC @173
SHCreateShellFolderViewEx @174
SHGetSpecialFolderPath = SHGetSpecialFolderPathW @175 NONAME
SHSetInstanceExplorer @176
DAD_SetDragImageFromListView @177 NONAME PRIVATE
SHObjectProperties @178
; SHGetNewLinkInfo=SHGetNewLinkInfoA was internal on Win95,
; but was exported by name NT4. keep the ordianls the same
; but export by name now since these are documented APIs
SHGetNewLinkInfoA @179
SHGetNewLinkInfoW @180
SHGetNewLinkInfo = SHGetNewLinkInfoA ;Internal
RegisterShellHook @181 NONAME PRIVATE
; Only the TCHAR version of ShellMessageBox existed on
; Win95 as export 183. A/W versions were added in Nashville
; and NT SUR.
ShellMessageBoxW = ShellMessageBoxWrapW @182 ; can't use forwarder since shlwapi.ShellMessageBoxWrapW is exported by ordinal only
ShellMessageBoxA @183
ArrangeWindows @184 NONAME PRIVATE
SHHandleDiskFull @185 NONAME PRIVATE
ILGetDisplayNameEx @186 NONAME PRIVATE
ILGetPseudoNameW @187 NONAME PRIVATE
ShellDDEInit @188 NONAME PRIVATE
ILCreateFromPathA @189
ILCreateFromPathW @190
SHUpdateImageA @191
SHUpdateImageW @192
SHHandleUpdateImage @193
SHCreatePropSheetExtArrayEx @194 NONAME PRIVATE
SHFree @195
SHAlloc @196
SHGlobalDefect @197 NONAME PRIVATE
SHAbortInvokeCommand @198 NONAME PRIVATE
; For explorer/shdocvw to create the desktop
SHCreateDesktop @200 NONAME PRIVATE
SHDesktopMessageLoop @201 NONAME PRIVATE
DDEHandleViewFolderNotify @202 NONAME PRIVATE
// PRINTQ
AddCommasW = AddCommasExportW @203 NONAME PRIVATE
ShortSizeFormatW = ShortSizeFormatExportW @204 NONAME PRIVATE
Printer_LoadIconsW @205 NONAME PRIVATE
Int64ToString @209 NONAME PRIVATE
LargeIntegerToString @210 NONAME PRIVATE
Printers_GetPidl @211 NONAME PRIVATE
Printer_AddPrinterPropPages @212 NONAME PRIVATE
Printers_RegisterWindowW @213 NONAME PRIVATE
Printers_UnregisterWindow @214 NONAME PRIVATE
SHStartNetConnectionDialog = SHStartNetConnectionDialogW @215 NONAME PRIVATE
FirstUserLogon @230 NONAME PRIVATE
SHSetFolderPathA @231 NONAME PRIVATE
SHSetFolderPathW @232 NONAME PRIVATE
SHGetUserPicturePathW @233 NONAME PRIVATE
SHSetUserPicturePathW @234 NONAME PRIVATE
SHOpenEffectiveToken @235 NONAME PRIVATE
SHTestTokenPrivilegeW @236 NONAME PRIVATE
SHShouldShowWizards @237 NONAME PRIVATE
;unused @238 NONAME PRIVATE
PathIsSlowW @239
PathIsSlowA @240
SHGetUserDisplayName @241 NONAME PRIVATE
; For shdocvw to call Win95's private GetProcessDword
SHGetProcessDword @242 NONAME PRIVATE
SHSetShellWindowEx @243 NONAME PRIVATE
SHSettingsChanged @244 NONAME PRIVATE
SHTestTokenMembership @245
SHInvokePrivilegedFunctionW @246 NONAME PRIVATE
SHGetActiveConsoleSessionId @247 NONAME PRIVATE
SHGetUserSessionId @248 NONAME PRIVATE
PathParseIconLocation @249 NONAME PRIVATE
PathRemoveExtension @250 NONAME PRIVATE
PathRemoveArgs @251 NONAME PRIVATE
PathIsURL @252 NONAME PRIVATE
SHIsCurrentProcessConsoleSession @253 NONAME PRIVATE
DisconnectWindowsDialog @254 NONAME PRIVATE
SHCreateShellFolderView @256
SHGetShellFolderViewCB @257 NONAME PRIVATE
; link window
LinkWindow_RegisterClass @258 NONAME PRIVATE
LinkWindow_UnregisterClass @259 NONAME PRIVATE
SHGetFolderPathAndSubDirA
SHGetFolderPathAndSubDirW
#if defined(ALIGNMENT_MACHINE)
; Private unaligned string functions forward to shlwapi.dll
; NOTE: we can use forwarders here since these are NT only functions
SHLualstrcpynW = shlwapi.ualstrcpynW @500 NONAME PRIVATE
SHLualstrcmpiW = shlwapi.ualstrcmpiW @501 NONAME PRIVATE
SHLualstrcmpW = shlwapi.ualstrcmpW @502 NONAME PRIVATE
SHLualstrlenW = shlwapi.ualstrlenW @503 NONAME PRIVATE
SHLualstrcpyW = shlwapi.ualstrcpyW @504 NONAME PRIVATE
#endif
; Shared memory mapping stuff
SHAllocShared = _SHAllocShared @520
SHLockShared = _SHLockShared @521
SHUnlockShared = _SHUnlockShared @522
SHFreeShared = _SHFreeShared @523
RealDriveType @524
RealDriveTypeFlags @525 NONAME PRIVATE
SHFlushSFCache @526
; Make sure to keep SHChangeNotifyRegisterORD updated in shlobj.h
; NOTE:: Even though we converted back to one set of APIS,
; we can't remove these since IE5 shdocvw uses them...
NTSHChangeNotifyRegister @640 NONAME PRIVATE
; Make sure to keep SHChangeNotifyDeregisterORD updated in shlobj.h
NTSHChangeNotifyDeregister @641 NONAME PRIVATE
SHChangeNotifyReceive @643 NONAME PRIVATE
SHChangeNotification_Lock @644
SHChangeNotification_Unlock @645
SHChangeRegistrationReceive @646 NONAME PRIVATE
; (unused) ReceiveAddToRecentDocs @647 NONAME PRIVATE
SHWaitOp_Operate @648 NONAME PRIVATE
PathIsSameRoot @650 NONAME PRIVATE
OldReadCabinetState @651 NONAME PRIVATE
WriteCabinetState @652
PathProcessCommand @653
ReadCabinetState @654
FileIconInit @660 NONAME PRIVATE
IsUserAnAdmin @680
SHGetAppCompatFlags @681 NONAME PRIVATE
SHStgOpenStorageW @683 NONAME PRIVATE
SHStgOpenStorageA @684 NONAME PRIVATE
SHPropStgCreate @685
SHPropStgReadMultiple @688
SHPropStgWriteMultiple @689
SHIsLegacyAnsiProperty @690 NONAME PRIVATE
SHFileSysBindToStorage @691 NONAME PRIVATE
; Exported for the OLE DS name space extension
CDefFolderMenu_Create @700
CDefFolderMenu_Create2 @701
CDefFolderMenu_MergeMenu @702 NONAME PRIVATE
GUIDFromStringA @703 NONAME PRIVATE ; can't use linker forwarder since only exported from shlwapi by ordinal
GUIDFromStringW @704 NONAME PRIVATE ; can't use linker forwarder since only exported from shlwapi by ordinal
SHOpenPropSheetA @707 NONAME PRIVATE
SHGetSetFolderCustomSettingsA @708 NONAME PRIVATE
SHGetSetFolderCustomSettingsW @709
CheckWinIniForAssocs @711 NONAME PRIVATE
SHCopyMonikerToTemp @712 NONAME PRIVATE
PathIsTemporaryA @713 NONAME PRIVATE
PathIsTemporaryW @714 NONAME PRIVATE
SHCreatePropertyBag @715 NONAME PRIVATE
SHMultiFileProperties @716
SHChangeNotifySuspendResume PRIVATE
SHCreateDirectoryExA
SHCreateDirectoryExW
SHPathPrepareForWriteA
SHPathPrepareForWriteW
SHLoadNonloadedIconOverlayIdentifiers
SHGetIconOverlayIndexA
SHGetIconOverlayIndexW
SHIsFileAvailableOffline
SHCreateLocalServerRunDll PRIVATE
SHParseDarwinIDFromCacheW @719 NONAME PRIVATE
MakeShellURLFromPathA @720 NONAME PRIVATE
MakeShellURLFromPathW @721 NONAME PRIVATE
SHCreateInstance @722 NONAME PRIVATE
SHCreateSessionKey @723 NONAME PRIVATE
SHOpenFolderAndSelectItems
SHIsTempDisplayMode @724 NONAME PRIVATE
GetFileDescriptor @725 NONAME PRIVATE
CopyStreamUI @726 NONAME PRIVATE
SHGetImageList @727 NONAME PRIVATE
#ifdef FEATURE_STARTPAGE
SetPeekMsgEx @728 NONAME PRIVATE
SetStartPageHWND @729 NONAME PRIVATE
#endif
RestartDialogEx @730
SHRegisterDarwinLink @731 NONAME PRIVATE
SHReValidateDarwinCache @732 NONAME PRIVATE
CheckDiskSpace @733 NONAME PRIVATE
SHCreateFileDataObject @740 NONAME PRIVATE
SHCreateFileExtractIconW @743
Create_IEnumUICommand @744 NONAME PRIVATE
Create_IUIElement @745 NONAME PRIVATE
SHLimitInputEdit @747
SHLimitInputCombo @748 NONAME PRIVATE
SHGetShellStyleHInstance @749
SHGetAttributesFromDataObject @750
SHSimulateDropOnClsid @751 NONAME PRIVATE
SHGetComputerDisplayNameW @752 NONAME PRIVATE
CheckStagingArea @753 NONAME PRIVATE
SHLimitInputEditWithFlags @754 NONAME PRIVATE
PathIsEqualOrSubFolder @755 NONAME PRIVATE
DeleteFileThumbnail @756 NONAME PRIVATE