Geoff Chappell - Software Analyst
Version 4.0 has 210 distinct functions that are exported only by ordinal from one or other or both of the Windows and NT implementations. For many years, almost all were left undocumented.
A selection were documented some time after they were re-implemented in SHLWAPI.DLL. Many of these are still exported from SHELL32 but as small implementations that redirect to SHLWAPI or even as forwards to SHLWAPI (so that importing the SHELL32 function actually imports from SHLWAPI). Microsoft documents these functions only as SHLWAPI functions, giving no hint of their earlier existence as SHELL32 functions.
A larger selection were documented as Settlement Program Interfaces in late 2002. These are almost all dated by Microsoft to version 5.0, and a few are said to require version 6.0.
Windows Vista began a programme of retiring obsolete functions. They continue to be exported from SHELL32 but only as forwards to SHUNIMPL.DLL, where they are failed. A few functions were discontinued in the first builds of version 6.0 but were then revived for Windows Vista just to retire them.
Ordinal | Function | Remarks |
---|---|---|
2 | SHChangeNotifyRegister | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
4 | SHChangeNotifyDeregister | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
5 | SHChangeNotifyUpdateEntryList | retired in 6.0 from Windows Vista, and higher |
9 | PifMgr_OpenProperties | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
10 | PifMgr_GetProperties | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
11 | PifMgr_SetProperties | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
13 | PifMgr_CloseProperties | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
15 | ILGetDisplayName | |
16 | ILFindLastID | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
17 | ILRemoveLastID | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
18 | ILClone | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
19 | ILCloneFirst | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
20 | ILGlobalClone | |
21 | ILIsEqual | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
23 | ILIsParent | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
24 | ILFindChild | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
25 | ILCombine | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
26 | ILLoadFromStream | exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented as requiring “version 5.0 or later” |
27 | ILSaveToStream | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
28 | SHILCreateFromPath | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
29 | PathIsRoot | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
30 | PathBuildRoot | redirected to SHLWAPI in 5.0 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
31 | PathFindExtension | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
32 | PathAddBackslash | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
33 | PathRemoveBlanks | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
34 | PathFindFileName | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
35 | PathRemoveFileSpec | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
36 | PathAppend | redirected to SHLWAPI in 5.0 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
37 | PathCombine | redirected to SHLWAPI in 5.0 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
38 | PathStripPath | NT-only in 4.00; redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
39 | PathIsUNC | redirected to SHLWAPI in 5.0 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
40 | PathIsRelative | redirected to SHLWAPI in 5.0 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
43 | PathIsExe | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
45 | PathFileExists | documented as requiring “shlwapi.dll version 4.71 or later” |
46 | PathMatchSpec | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
47 | PathMakeUniqueName | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
48 | PathSetDlgItemPath | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
49 | PathQualify | exported also by name in 6.0 from Windows XP SP1, and higher |
50 | PathStripToRoot | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
51 | PathResolve | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
52 | PathGetArgs | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
55 | PathQuoteSpaces | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
56 | PathUnquoteSpaces | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
57 | PathGetDriveNumber | redirected to SHLWAPI in 5.0 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
58 | ParseField | documented as requiring “version 5.0 or later” |
59 | RestartDialog | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
60 | ExitWindowsDialog | |
61 | RunFileDlg | |
62 | PickIconDlg | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 6.0 or later” |
63 | GetFileNameFromBrowse | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
64 | DriveType | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
65 | InvalidateDriveType | |
66 | IsNetDrive | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
67 | Shell_MergeMenus | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 6.0 or later” |
68 | SHGetSetSettings | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
69 | SHGetNetResource | |
70 | SHCreateDefClassObject | |
71 | Shell_GetImageLists | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
72 | Shell_GetCachedImageIndex | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
73 | SHShellFolderView_Message | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
74 | SHCreateStdEnumFmtEtc | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
75 | PathYetAnotherMakeUniqueName | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
76 | DragQueryInfo | NT-only in 4.0 |
77 | SHMapPIDLToSystemImageListIndex | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
78 | OleStrToStrN | retired in 6.0 from Windows Vista, and higher |
79 | StrToOleStrN | retired in 6.0 from Windows Vista, and higher |
81 | (name unknown) | Windows-only |
83 | CIDLData_CreateFromIDArray | exported also by name in 6.0 from Windows Vista, and higher; documented as requiring “version 5.0 or later” |
84 | SHIsBadInterfacePtr | retired in 6.0 from Windows Vista, and higher |
85 | OpenRegStream | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
86 | SHRegisterDragDrop | retired in 6.0 from Windows Vista, and higher |
87 | SHRevokeDragDrop | retired in 6.0 from Windows Vista, and higher |
88 | SHDoDragDrop | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 6.0 or later” |
89 | SHCloneSpecialIDList | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
90 | SHFindFiles | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 6.0 or later” |
91 | SHFindComputer | |
92 | PathGetShortPath | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
93 | Win32CreateDirectory | |
94 | Win32RemoveDirectory | |
95 | SHLogILFromFSIL | |
96 | StrRetToStrN | documented as requiring “version 4.71 or later” |
97 | SHWaitForFileToOpen | |
98 | SHGetRealIDL | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
99 | SetAppStartingCursor | |
100 | SHRestricted | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
102 | SHCoCreateInstance | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
103 | SignalFileOpen | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
104 | FileMenu_DeleteAllItems | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
105 | FileMenu_DrawItem | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
106 | FileMenu_FindSubMenuByPidl | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
107 | FileMenu_GetLastSelectedItemPidls | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
108 | FileMenu_HandleMenuChar | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
109 | FileMenu_InitMenuPopup | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
110 | FileMenu_InsertUsingPidl | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
111 | FileMenu_Invalidate | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
112 | FileMenu_MeasureItem | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
113 | FileMenu_ReplaceUsingPidl | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
114 | FileMenu_Create | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
115 | FileMenu_AppendItem | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
116 | FileMenu_TrackPopupMenuEx | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
117 | FileMenu_DeleteItemByCmd | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
118 | FileMenu_Destroy | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
119 | IsLFNDrive | exported also by name in 6.0 from Windows XP SP1, and higher |
120 | FileMenu_AbortInitMenu | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
121 | SHFlushClipboard | exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented as requiring “version 6.0 or later” |
122 | RunDll_CallEntry16 | retired in 6.0 from Windows Vista, and higher |
123 | SHFreeUnusedLibraries | retired in 6.0 from Windows Vista, and higher |
124 | FileMenu_AppendFilesForPidl | NT-only in 4.0; not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
125 | FileMenu_AddFilesForPidl | NT-only in 4.0; discontinued in 4.71 |
126 | SHOutOfMemoryMessageBox | retired in 6.0 from Windows Vista, and higher |
127 | SHWinHelp | |
129 | DAD_AutoScroll | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
130 | DAD_DragEnter | retired in 6.0 from Windows Vista, and higher |
131 | DAD_DragEnterEx | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
132 | DAD_DragLeave | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
134 | DAD_DragMove | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
136 | DAD_SetDragImage | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
137 | DAD_ShowDragImage | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
139 | Desktop_UpdateBriefcaseOnEvent | discontinued in 6.0 |
140 | FileMenu_DeleteItemByIndex | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
141 | FileMenu_DeleteMenuItemByFirstID | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
142 | FileMenu_DeleteSeparator | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
143 | FileMenu_EnableItemByCmd | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
144 | FileMenu_GetItemExtent | not exported in 6.0 from before Windows Vista; retired in 6.0 from Windows Vista, and higher |
145 | PathFindOnPath | redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
146 | RLBuildListOfPaths | retired in 6.0 from Windows Vista, and higher |
147 | SHCLSIDFromString | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
149 | SHFind_InitMenuPopup | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 6.0 or later” |
151 | SHLoadOLE | exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented as requiring “version 5.0 or later” |
152 | ILGetSize | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
153 | ILGetNext | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
154 | ILAppendID | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
155 | ILFree | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
156 | ILGlobalFree | |
157 | ILCreateFromPath | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
158 | PathGetExtension | |
159 | PathIsDirectory | redirected to SHLWAPI in 5.0 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
160 | SHNetConnectionDialog | |
161 | SHRunControlPanel | exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher |
162 | SHSimpleIDListFromPath | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
163 | StrToOleStr | retired in 6.0 from Windows Vista, and higher |
164 | Win32DeleteFile | exported also by name in 6.0 from Windows XP SP1, and higher |
165 | SHCreateDirectory | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
166 | CallCPLEntry16 | exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented as requiring "version 5.0 or later" |
167 | SHAddFromPropSheetExtArray | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
168 | SHCreatePropSheetExtArray | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
169 | SHDestroyPropSheetExtArray | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
170 | SHReplaceFromPropSheetExtArray | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
171 | PathCleanupSpec | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
172 | SHCreateLinks | |
173 | SHValidateUNC | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.00 or later” |
174 | SHCreateShellFolderViewEx | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
175 | SHGetSpecialFolderPathW | exported also by name in 4.71 and higher; documented as requiring “version 4.71 or later” |
176 | SHSetInstanceExplorer | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
177 | DAD_SetDragImageFromListView | retired in 6.0 from Windows Vista, and higher |
179 | SHGetNewLinkInfoA | exported also by name in 5.0 and higher; documented as requiring “version 4.71 or later” |
180 | SHGetNewLinkInfoW | NT-only in 4.0; exported also by name in 5.0 and higher; documented as requiring “version 4.71 or later” |
182 | ShellMessageBoxW | NT-only in 4.0; exported also by name in 6.0 from Windows XP SP1, and higher; documented with “Windows 2000” as minimum operating system |
183 | ShellMessageBoxA | exported also by name in 6.0 from Windows XP SP1, and higher; documented with “Windows 2000” as minimum operating system |
184 | ArrangeWindows | |
185 | SHHandleDiskFull | |
195 | SHFree | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
196 | SHAlloc | exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
197 | SHGlobalDefect | retired in 6.0 from Windows Vista, and higher |
198 | SHAbortInvokeCommand | retired in 6.0 from Windows Vista, and higher |
199 | SHGetFileIcon | 4.0 only |
200 | SHLocalAlloc | 4.0 only; ordinal reused in 5.0 |
201 | SHLocalFree | 4.0 only; ordinal reused in 5.0 |
202 | SHLocalReAlloc | 4.0 only; ordinal reused in 5.0 |
203 | AddCommasW | NT-only |
204 | ShortSizeFormatW | NT-only |
205 | Printer_LoadIconsW | NT-only |
206 | Link_AddExtraDataSection | NT-only; discontinued in 6.0 |
207 | Link_ReadExtraDataSection | NT-only; discontinued in 6.0 |
208 | Link_RemoveExtraDataSection | NT-only; discontinued in 6.0 |
209 | Int64ToString | NT-only |
210 | LargeIntegerToString | NT-only |
211 | Printers_GetPidl | NT-only |
212 | Printer_AddPrinterPropPages | NT-only |
213 | Printers_RegisterWindowW | NT-only |
214 | Printers_UnregisterWindow | NT-only |
215 | SHStartNetConnectionDialog | NT-only in 4.0; documented as requiring “version 5.0 or later” |
249 | PathParseIconLocation | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
250 | PathRemoveExtension | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
251 | PathRemoveArgs | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
505 | SHRegCloseKey | NT-only in 4.0; discontinued in 5.0 |
506 | SHRegOpenKeyA | NT-only in 4.0; discontinued in 5.0 |
507 | SHRegOpenKeyW | NT-only in 4.0; discontinued in 5.0 |
508 | SHRegQueryValueA | NT-only in 4.0; discontinued in 5.0 |
509 | SHRegQueryValueExA | NT-only in 4.0; discontinued in 5.0 |
510 | SHRegQueryValueW | NT-only in 4.0; discontinued in 5.0 |
511 | SHRegQueryValueExW | NT-only in 4.0; discontinued in 5.0 |
512 | SHRegDeleteKeyW | NT-only; discontinued in 5.0 |
520 | SHAllocShared | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented with “Windows 2000” as minimum operating system |
521 | SHLockShared | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented with “Windows 2000” as minimum operating system |
522 | SHUnlockShared | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented as requiring “version 5.0 or later” |
523 | SHFreeShared | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented with “Windows 2000” as minimum operating system |
524 | RealDriveType | NT-only in 4.0; exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
525 | RealDriveTypeFlags | NT-only in 4.0 |
640 | NTSHChangeNotifyRegister | NT-only in 4.0; retired in 6.0 from Windows Vista, and higher; documented as requiring “version 5.0 or later” |
641 | NTSHChangeNotifyDeregister | NT-only in 4.0; retired in 6.0 from Windows Vista, and higher; documented as requiring “version 5.0 or later” |
643 | SHChangeNotifyReceive | NT-only in 4.0; retired in 6.0 from Windows Vista, and higher |
644 | SHChangeNotification_Lock | NT-only in 4.0; exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 6.0 or later” |
645 | SHChangeNotification_Unlock | NT-only in 4.0; exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 6.0 or later” |
646 | SHChangeRegistrationReceive | NT-only in 4.0; retired in 6.0 from Windows Vista, and higher |
647 | ReceiveAddToRecentDocs | NT-only in 4.0; discontinued in 6.0 |
648 | SHWaitOp_Operate | NT-only in 4.0 |
650 | PathIsSameRoot | NT-only in 4.0; redirected to SHLWAPI in 4.71 and higher; documented as requiring “shlwapi.dll version 4.71 or later” |
651 | OldReadCabinetState | NT-only in 4.0, as ReadCabinetState; replaced by ordinal 654 in version 4.71 and higher |
652 | WriteCabinetState | NT-only in 4.0; exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
653 | PathProcessCommand | NT-only in 4.0; exported also by name in 6.0 from Windows XP SP1 before Windows Vista; retired in 6.0 from Windows Vista, and higher; documented as requiring “version 5.0 or later” |
660 | FileIconInit | NT-only in 4.0 |
680 | IsUserAnAdmin | NT-only in 4.0; exported also by name in 6.0 from Windows XP SP1, and higher; documented as requiring “version 5.0 or later” |
1217 | alias for SHCloneSpecialIDList | 4.0 only |
A few functions would be listed above except that they are exported by name from two SHELL32 versions in the prehistory of 32-bit Windows. One of them continues to be exported by name, yet also with a reliable ordinal from version 4.0 onwards. Another may have been merely tentative in the early versions, before settling as an ordinal-only export until its documentation among the Settlement Program Interfaces. The last of them is never exported by name again, nor is it ever documented.
Ordinal | Function | Versions That Export By Name |
---|---|---|
128 | DllGetClassObject | 1.30 and higher |
178 | SHObjectProperties | 1.30, and 6.0 from Windows XP SP1, and higher |
181 | RegisterShellHook | 1.30 and 3.51 only |