SHELL32 5.0 Named Exports

The first builds of SHELL32 version 5.0 introduced 16 distinct functions that are exported by name. One more, that existed before but with its ANSI and Unicode forms being previously exported only by ordinal, is treated on its own after the main table.

Apart from functions exempted by the general rules for this study, only three are not documented in this study’s reference edition (the MSDN Library on disc, dated January 2004) and two of these have been documented since. Later builds of version 5.0 introduced two more functions, which do not continue into any higher SHELL32 version. These also are not documented.

All functions that are documented have their availability documented correctly by Microsoft.

Function Remarks
Control_RunDLLAsUserW NT-only
DllRegisterServer  
DllUnregisterServer  
FixupOptionalComponents version 5.0 from Windows 2000 SP3 and SP4 only
OCInstall version 5.0 from Windows 2000 SP3 and SP4 only
SHBindToParent  
SHChangeNotifySuspendResume  
SHCreateDirectoryExA  
SHCreateDirectoryExW  
SHCreateProcessAsUserW NT-only
ShellExec_RunDLL  
ShellExec_RunDLLA  
ShellExec_RunDLLW  
SHExtractIconsW  
SHGetDiskFreeSpaceExA  
SHGetDiskFreeSpaceExW  
SHGetFolderLocation  
SHGetFolderPathA  
SHGetFolderPathW  
SHGetIconOverlayIndexA  
SHGetIconOverlayIndexW  
SHIsFileAvailableOffline  
SHLoadNonloadedIconOverlayIdentifiers  
SHPathPrepareForWriteA  
SHPathPrepareForWriteW  

Functions Previously Exported Only By Ordinal

The function SHGetNewLinkInfo existed as a named export, with no A or W suffix, as early as the NT implementations of version 4.0. The ANSI and Unicode forms were exported only by ordinal, perhaps as an oversight. With version 5.0, all the functions in the set become exported by name. The documentation even has in bold type that this function “is implemented in Shell versions 4.71 and later”.

Function Ordinal First Availability
SHGetNewLinkInfoA 179 4.00
SHGetNewLinkInfoW 180 4.00 (NT)