SHLWAPI 4.71 Named Exports

A significant expansion occurred with SHLWAPI version 4.71, for Internet Explorer 4.0 in 1997. Not counting ANSI and Unicode forms as distinct, there are 196 new functions. However, the overwhelming majority are exported only by ordinal.

All the named exports that first appeared in SHLWAPI version 4.71 are documented in the January 2007 edition of the Windows Vista SDK (and were also in the January 2004 edition of the MSDN Library on CD). As usual, however, the documentation is unreliable on the question of availability.

For one function, the documentation gives no availability and describes the function only as “not currently supported”. Yet as recently as Windows XP SP1, the function retained an admittedly simple but nonetheless non-trivial implementation and was still in use, being called from one place in BROWSEUI.DLL and two in SHELL32.DLL.

Function Remarks
ChrCmpIA  
ChrCmpIW  
GetMenuPosFromID  
HashData documented as requiring “version 5.0 or later”
PathCreateFromUrlA documented as requiring “version 5.0 or later”
PathCreateFromUrlW documented as requiring “version 5.0 or later”
PathGetCharTypeA  
PathGetCharTypeW  
PathIsContentTypeA  
PathIsContentTypeW  
PathIsSystemFolderA  
PathIsSystemFolderW  
PathIsUNCServerA  
PathIsUNCServerW  
PathIsUNCServerShareA  
PathIsUNCServerShareW  
PathMakeSystemFolderA  
PathMakeSystemFolderW  
PathUnmakeSystemFolderA  
PathUnmakeSystemFolderW  
SHCreateShellPalette  
SHEnumKeyExA  
SHEnumKeyExW  
SHEnumValueA  
SHEnumValueW  
SHGetInverseCMAP documented as requiring “version 5.0 or later”
SHIsLowMemoryMachine documented as “not currently supported”
SHOpenRegStreamA  
SHOpenRegStreamW  
SHQueryInfoKeyA  
SHQueryInfoKeyW  
SHRegCloseUSKey  
SHRegCreateUSKeyA  
SHRegCreateUSKeyW  
SHRegDeleteEmptyUSKeyA  
SHRegDeleteEmptyUSKeyW  
SHRegDeleteUSValueA  
SHRegDeleteUSValueW  
SHRegEnumUSKeyA  
SHRegEnumUSKeyW  
SHRegEnumUSValueA  
SHRegEnumUSValueW  
SHRegGetBoolUSValueA  
SHRegGetBoolUSValueW  
SHRegGetUSValueA  
SHRegGetUSValueW  
SHRegOpenUSKeyA  
SHRegOpenUSKeyW  
SHRegQueryInfoUSKeyA  
SHRegQueryInfoUSKeyW  
SHRegQueryUSValueA  
SHRegQueryUSValueW  
SHRegSetUSValueA  
SHRegSetUSValueW  
SHRegWriteUSValueA  
SHRegWriteUSValueW  
StrNCatA  
StrNCatW  
StrTrimA  
StrTrimW  
UrlApplySchemeA documented as requiring “version 5.0 or later”
UrlApplySchemeW documented as requiring “version 5.0 or later”
UrlCanonicalizeA documented as requiring “version 5.0 or later”
UrlCanonicalizeW documented as requiring “version 5.0 or later”
UrlCombineA documented as requiring “version 5.0 or later”
UrlCombineW documented as requiring “version 5.0 or later”
UrlCompareA documented as requiring “version 5.0 or later”
UrlCompareW documented as requiring “version 5.0 or later”
UrlCreateFromPathA documented as requiring “version 5.0 or later”
UrlCreateFromPathW documented as requiring “version 5.0 or later”
UrlEscapeA documented as requiring “version 5.0 or later”
UrlEscapeW documented as requiring “version 5.0 or later”
UrlGetLocationA documented as requiring “version 5.0 or later”
UrlGetLocationW documented as requiring “version 5.0 or later”
UrlGetPartA documented as requiring “version 5.0 or later”
UrlGetPartW documented as requiring “version 5.0 or later”
UrlHashA documented as requiring “version 5.0 or later”
UrlHashW documented as requiring “version 5.0 or later”
UrlIsA documented as requiring “version 5.0 or later”
UrlIsW documented as requiring “version 5.0 or later”
UrlIsNoHistoryA documented as requiring “version 5.0 or later”
UrlIsNoHistoryW documented as requiring “version 5.0 or later”
UrlIsOpaqueA documented as requiring “version 5.0 or later”
UrlIsOpaqueW documented as requiring “version 5.0 or later”
UrlUnescapeA documented as requiring “version 5.0 or later”
UrlUnescapeW documented as requiring “version 5.0 or later”