SHELL32 4.0 Ordinal-Only Exports

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

Functions Previously Exported By Name

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