Geoff Chappell - Software Analyst
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 |
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) |