SHELL32 Functions

The very large table on this page is this study’s master list of functions that appear in the export directory of any known version of SHELL32. It gives for each function just brief summaries of the applicable versions and of the function’s status with respect to Microsoft’s documentation.

This master list is the key to other lists. More detail on each function’s availability and documentation status is to be found by looking for the function in the history lists, according to the function’s first version and to whether it is exported by name or with an ordinal. A separate list covers usage by other executable modules distributed with Windows (though presently specific to Windows XP Service Pack 1). Some functions link directly to an attempt at alternative documentation.

More explanatory notes follow the table.

Function Applicable Versions Documentation Status
Activate_RunDLL 6.0 from before Windows Vista only (documented)
AddCommasW (203) 4.0 and higher;
NT only
 
AddToRecentDocs (903) 6.1 and higher  
AppCompat_RunDLLW 6.0 and higher (documented)
ArrangeWindows (184) 4.0 and higher  
AssocCreateElement (764) 6.0 from Windows Vista, and higher  
AssocCreateForClasses 6.0 from Windows Vista, and higher documented
AssocCreateListForClasses (767) 6.1 and higher  
AssocGetDetailsOfPropKey 6.0 from Windows Vista, and higher documented
AssocGetPropListForExt (778) 6.0 from Windows Vista, and higher  
CallCPLEntry16 (166) 4.0 and higher documented for settlement
CDefFolderMenu_Create (700) 4.71 and higher  
CDefFolderMenu_Create2 (701) 4.71 and higher documented for settlement
CDefFolderMenu_MergeMenu (702) 4.71 and higher  
CheckDiskSpace (733) 6.0 and higher  
CheckEscapesA 1.30 to 6.0 from before Windows Vista  
CheckEscapesW 1.30 and higher  
CheckStagingArea (753) 6.0 and higher  
CheckWinIniForAssocs (711) 4.71 and higher  
CIDLData_CreateFromIDArray (83) 4.0 and higher documented
ClearDestinationsForAllApps (896) 6.1 and higher  
ClearStartMenuItem (890) 6.1 and higher  
CommandLineToArgvW 1.30 and higher documented
Control_FillCache_RunDLL 1.30 to 6.0 from before Windows Vista (documented)
Control_FillCache_RunDLLA 4.0 (NT) to 6.0 from before Windows Vista (documented)
Control_FillCache_RunDLLW 4.0 (NT) to 6.0 from before Windows Vista (documented)
Control_RunDLL 1.30 and higher (documented)
Control_RunDLLA 4.0 (NT) and higher (documented)
Control_RunDLLW 4.0 (NT) and higher (documented)
Control_RunDLLAsUserW 5.0 and higher;
NT only
(documented)
Control_RunDLLNoFallback (44) 6.0 from Windows Server 2003 SP1, and higher (documented)
CopyStreamUI (726) 6.0 and higher  
CPL_ExecuteTask (856) 6.0 from Windows Vista, and higher  
CPL_CreateCondition (857) 6.0 from Windows Vista, and higher  
Create_IEnumUICommand (744) 6.0 and higher  
Create_IEnumUICommandFromDefArray (763) 6.0 from Windows Vista, and higher  
Create_IUICommandFromDef (762) 6.0 from Windows Vista, and higher  
Create_IUIElement (745) 6.0 and higher  
CreateAutoListParser (880) 6.1 and higher  
CreateConditionRange (845) 6.0 from Windows Vista, and higher  
CreateInfoTipFromItem (260) 6.0 from Windows Vista, and higher  
CreateInfoTipFromItem2 (264) 6.0 from Windows Vista, and higher  
CreateSingleVisibleInList (839) 6.0 from Windows Vista, and higher  
CreateVisibleInDescription (867) 6.0 from Windows Vista, and higher  
CreateVisibleInList (868) 6.0 from Windows Vista, and higher  
DAD_AutoScroll (129) 4.0 and higher documented for settlement
DAD_DragEnter (130) 4.0 and higher  
DAD_DragEnterEx (131) 4.0 and higher documented for settlement
DAD_DragEnterEx2 (22) 5.0 and higher documented for settlement
DAD_DragLeave (132) 4.0 and higher documented for settlement
DAD_DragMove (134) 4.0 and higher documented for settlement
DAD_SetDragImage (136) 4.0 and higher documented for settlement
DAD_SetDragImageFromListView (177) 4.0 and higher  
DAD_ShowDragImage (137) 4.0 and higher documented for settlement
DDECreatePostNotify (82) 4.71 and higher  
DDEHandleViewFolderNotify (202) 5.0 and higher  
DeleteFileThumbnail (756) 6.0 from Windows XP SP1, and higher  
Desktop_UpdateBriefcaseOnEvent (139) 4.0 to 5.50 only  
DisconnectWindowsDialog (254) 6.0 and higher  
DisplayNameOfW (757) 6.0 from Windows Vista, and higher  
DllCanUnloadNow 4.71 and higher (documented)
DllGetClassObject (128) 1.30 and higher (documented)
DllGetVersion 4.71 and higher (documented)
DllInstall 4.71 and higher (documented)
DllRegisterServer 5.0 and higher (documented)
DllUnregisterServer 5.0 and higher (documented)
DoEnvironmentSubstA 1.30 and higher documented
DoEnvironmentSubstW 1.30 and higher documented
DragAcceptFiles 1.30 and higher documented
DragFinish 1.30 and higher documented
DragQueryFile 1.30 and higher documented
DragQueryFileA 1.30 and higher documented
DragQueryFileW 1.30 and higher documented
DragQueryFileAorW 1.30 and higher  
DragQueryInfo (76) 4.0 (NT) and higher  
DragQueryPoint 1.30 and higher documented
DrawMenuItem (828) 6.0 from Windows Vista, and higher  
DriveType (64) 4.0 and higher documented
DUI_Shell32_StartDeferUninitialization (870) 6.0 from Windows Vista, and higher  
DUI_Shell32_EndDeferUninitialization (871) 6.0 from Windows Vista, and higher  
DuplicateIcon 1.30 and higher  
EnumCommonTasks (876) 6.1 and higher  
ExitWindowsDialog (60) 4.0 and higher  
ExtractAssociatedIconA 1.30 and higher documented
ExtractAssociatedIconW 1.30 and higher  
ExtractAssociatedIconExA 1.30 and higher documented for settlement
ExtractAssociatedIconExW 1.30 and higher documented for settlement
ExtractIcon 1.30 only  
ExtractIconA 1.30 and higher documented
ExtractIconW 1.30 and higher documented
ExtractIconEx 1.30 and higher documented
ExtractIconExA 1.30 and higher documented
ExtractIconExW 1.30 and higher;
NT-only in 4.0
documented
ExtractIconResInfoA 1.30 to 6.0 from before Windows Vista  
ExtractIconResInfoW 1.30 to 6.0 from before Windows Vista  
ExtractVersionResource16W 1.30 to 6.0 from before Windows Vista  
FileIconInit (660) 4.0 (NT) and higher documented in 2004-2006
FileMenu_AbortInitMenu (120) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_AddFilesForPidl (125) 4.0 (NT) only  
FileMenu_AppendFilesForPidl (124) 4.0 (NT) and higher;
but not 6.0 from before Windows Vista
 
FileMenu_AppendItem (115) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_Create (114) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_CreateFromMenu (227) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_DelayedInvalidate (224) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_DeleteAllItems (104) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_DeleteItemByCmd (117) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_DeleteItemByIndex (140) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_DeleteMenuItemByFirstID (141) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_DeleteSeparator (142) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_Destroy (118) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_DrawItem (105) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_EditMode (221) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_EnableItemByCmd (143) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_FindSubMenuByPidl (106) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_GetItemExtent (144) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_GetLastSelectedItemPidls (107) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_GetPidl (220) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_HandleMenuChar (108) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_HandleMenuSelect (222) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_HandleNotify (101) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_InsertItem (218) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_InitMenuPopup (109) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_InsertSeparator (219) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_InsertUsingPidl (110) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_Invalidate (111) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_IsDelayedInvalid (225) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_IsFileMenu (216) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_IsUnexpanded (223) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_MeasureItem (112) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_ProcessCommand (217) 4.71 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_ReplaceUsingPidl (113) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FileMenu_TrackPopupMenuEx (116) 4.0 and higher;
but not 6.0 from before Windows Vista
 
FindExecutable 1.30 only  
FindExecutableA 1.30 and higher documented
FindExecutableW 1.30 and higher documented
FindExeDlgProc 1.30 to 6.0 from before Windows Vista;
NT-only in 4.0
 
FirstUserLogon (230) 5.0 and higher  
FixupOptionalComponents 5.0 from Windows 2000 SP3 and SP4 only  
FreeIconList 1.30 and higher  
GetAppIDRoot (900) 6.1 and higher  
GetAppPathFromLink (895) 6.1 and higher  
GetCurrentProcessExplicitAppUserModelID 6.1 and higher documented
GetDataIndexFromFolderType (878) 6.1 and higher  
GetFileDescriptor (725) 6.0 and higher  
GetFileNameFromBrowse (63) 4.0 and higher documented for settlement
GetSqmableFileName (892) 6.1 and higher  
GetTryHarderIDList (863) 6.0 from Windows Vista, and higher  
GUIDFromStringA (703) 4.71 and higher documented in 2004-2006
GUIDFromStringW (704) 4.71 and higher documented in 2004-2006
ILAppendID (154) 4.0 and higher documented for settlement
ILClone (18) 4.0 and higher documented for settlement
ILCloneFirst (19) 4.0 and higher documented for settlement
ILCombine (25) 4.0 and higher documented for settlement
ILCreateFromPath (157) 4.0 and higher documented in 2004-2006
ILCreateFromPathA (189) 4.71 and higher documented in 2004-2006
ILCreateFromPathW (190) 4.71 and higher documented for settlement
ILFindChild (24) 4.0 and higher documented for settlement
ILFindLastID (16) 4.0 and higher documented for settlement
ILFree (155) 4.0 and higher documented for settlement
ILGetDisplayName (15) 4.0 and higher  
ILGetDisplayNameEx (186) 4.71 and higher  
ILGetNext (153) 4.0 and higher documented for settlement
ILGetPseudoNameW (187) 5.0 and higher  
ILGetSize (152) 4.0 and higher documented for settlement
ILGlobalClone (20) 4.0 and higher  
ILGlobalFree (156) 4.0 and higher  
ILIsEqual (21) 4.0 and higher documented for settlement
ILIsParent (23) 4.0 and higher documented for settlement
ILLoadFromStream (26) 4.0 and higher documented for settlement
ILLoadFromStreamEx 6.0 from Windows Vista, and higher documented
ILRemoveLastID (17) 4.0 and higher documented for settlement
ILSaveToStream (27) 4.0 and higher documented for settlement
InitializeStartMenuItem (889) 6.1 and higher  
InitNetworkAddressControl 6.0 from Windows Vista, and higher documented
Int64ToString (209) 4.00 and higher;
NT only
 
InternalExtractIconListA 1.30 and higher  
InternalExtractIconListW 1.30 and higher  
InvalidateDriveType (65) 4.0 and higher  
IsElevationRequired (865) 6.0 from Windows Vista, and higher  
IsLFNDrive (119) 4.0 and higher  
IsLFNDriveA (41) 4.71 and higher  
IsLFNDriveW (42) 4.71 and higher  
IsNetDrive (66) 4.0 and higher documented for settlement
IsSearchEnabled (902) 6.1 and higher  
IsShellItemInSearchIndex (854) 6.0 from Windows Vista, and higher  
IsSuspendAllowed (53) 4.71 and higher  
IsUserAnAdmin (680) 4.0 (NT) and higher documented for settlement
LargeIntegerToString (210) 4.00 and higher;
NT only
 
LaunchMSHelp_RunDLLW 6.1 and higher  
LegacyEnumSpecialTasksByType (875) 6.1 and higher  
LegacyEnumTasks (874) 6.1 and higher  
LinkWindow_RegisterClass (258) 5.0 and higher documented in 2004-2006
LinkWindow_UnregisterClass (259) 5.0 and higher documented in 2004-2006
Link_AddExtraDataSection (206) 4.0 to 5.0 only;
NT only
 
Link_ReadExtraDataSection (207) 4.0 to 5.0 only;
NT only
 
Link_RemoveExtraDataSection (208) 4.0 to 5.0 only;
NT only
 
LogoffWindowsDialog (54) 4.71 and higher  
MakeDestinationItem (894) 6.1 and higher  
MakeShellURLFromPathA (720) 5.50 and higher  
MakeShellURLFromPathW (721) 5.50 and higher  
MeasureMenuItem (829) 6.0 from Windows Vista, and higher  
NTSHChangeNotifyDeregister (641) 4.0 (NT) and higher documented in 2004-2006
NTSHChangeNotifyRegister (640) 4.0 (NT) and higher documented in 2004-2006
OCInstall 5.0 from Windows 2000 SP3 and SP4 only  
OldReadCabinetState (651) 4.0 (NT) and higher  
OleStrToStrN (78) 4.0 and higher  
OpenAs_RunDLL 1.30 and higher (documented)
OpenAs_RunDLLA 4.0 (NT) and higher (documented)
OpenAs_RunDLLW 4.0 (NT) and higher (documented)
OpenRegStream (85) 4.0 and higher documented for settlement
Options_RunDLL 5.50 and higher (documented)
Options_RunDLLA 5.50 and higher (documented)
Options_RunDLLW 5.50 and higher (documented)
ParseField (58) 4.0 and higher documented
PathAddBackslash (32) 4.0 and higher documented (SHLWAPI)
PathAppend (36) 4.0 and higher documented (SHLWAPI)
PathBuildRoot (30) 4.0 and higher documented (SHLWAPI)
PathCleanupSpec (171) 4.0 and higher documented for settlement
PathCombine (37) 4.0 and higher documented (SHLWAPI)
PathComparePaths (850) 6.0 from Windows Vista, and higher  
PathFileExists (45) 4.0 and higher documented (SHLWAPI)
PathFindExtension (31) 4.0 and higher documented (SHLWAPI)
PathFindFileName (34) 4.0 and higher documented (SHLWAPI)
PathFindOnPath (145) 4.0 and higher documented (SHLWAPI)
PathGetArgs (52) 4.0 and higher documented (SHLWAPI)
PathGetDriveNumber (57) 4.0 and higher documented (SHLWAPI)
PathGetExtension (158) 4.0 and higher  
PathGetPathDisplayName (840) 6.0 from Windows Vista, and higher  
PathGetPathDisplayNameAlloc (869) 6.0 from Windows Vista, and higher  
PathGetShortPath (92) 4.0 and higher documented for settlement
PathIsDirectory (159) 4.0 and higher documented (SHLWAPI)
PathIsEqualOrSubFolder (755) 6.0 and higher  
PathIsExe (43) 4.0 and higher documented for settlement
PathIsRelative (40) 4.0 and higher documented (SHLWAPI)
PathIsRoot (29) 4.0 and higher documented (SHLWAPI)
PathIsSameRoot (650) 4.0 (NT) and higher documented (SHLWAPI)
PathIsSlowA (240) 5.0 and higher documented for settlement
PathIsSlowW (239) 5.0 and higher documented for settlement
PathIsTemporaryA (713) 5.0 and higher  
PathIsTemporaryW (714) 5.0 and higher  
PathIsUNC (39) 4.0 and higher documented (SHLWAPI)
PathIsURL (252) 4.71 and higher documented (SHLWAPI)
PathMakeUniqueName (47) 4.0 and higher documented for settlement
PathMatchSpec (46) 4.0 and higher documented (SHLWAPI)
PathParseIconLocation (249) 4.0 (NT) and higher documented (SHLWAPI)
PathProcessCommand (653) 4.0 (NT) and higher documented for settlement
PathQualify (49) 4.0 and higher  
PathQuoteSpaces (55) 4.0 and higher documented (SHLWAPI)
PathRemoveArgs (251) 4.0 (NT) and higher documented (SHLWAPI)
PathRemoveBlanks (33) 4.0 and higher documented (SHLWAPI)
PathRemoveExtension (250) 4.0 (NT) and higher documented (SHLWAPI)
PathRemoveFileSpec (35) 4.0 and higher documented (SHLWAPI)
PathResolve (51) 4.0 and higher documented for settlement
PathSetDlgItemPath (48) 4.0 and higher documented (SHLWAPI)
PathStripPath (38) 4.0 (NT) and higher documented (SHLWAPI)
PathStripToRoot (50) 4.0 (NT) and higher documented (SHLWAPI)
PathUnquoteSpaces (56) 4.0 and higher documented (SHLWAPI)
PathYetAnotherMakeUniqueName (75) 4.0 and higher documented for settlement
PickIconDlg (62) 4.0 and higher documented for settlement
PifMgr_CloseProperties (13) 4.0 and higher documented for settlement
PifMgr_GetProperties (10) 4.0 and higher documented for settlement
PifMgr_OpenProperties (9) 4.0 and higher documented for settlement
PifMgr_SetProperties (11) 4.0 and higher documented for settlement
PlaceTasksUnderHeader (877) 6.1 and higher  
POOBE_CreateIndirectGraphic (858) 6.0 from Windows Vista, and higher  
PrepareDiscForBurnRunDllW 6.0 from Windows Vista, and higher (documented)
PrepareURLForDisplayUTF8W (883) 6.1 and higher  
PrintersGetCommand_RunDLL 1.30 and higher (documented)
PrintersGetCommand_RunDLLA 4.0 (NT) and higher (documented)
PrintersGetCommand_RunDLLW 4.0 (NT) and higher (documented)
Printers_GetPidl (211) 4.0 and higher;
NT only
 
Printers_RegisterWindowW (213) 4.0 and higher;
NT only
 
Printers_UnregisterWindow (214) 4.0 and higher;
NT only
 
Printer_AddPrinterPropPages (212) 4.0 and higher;
NT only
 
Printer_LoadIconsW (205) 4.0 and higher;
NT only
 
ReadCabinetState (654) 4.71 and higher documented for settlement
RealDriveType (524) 4.0 (NT) and higher documented for settlement
RealDriveTypeFlags (525) 4.0 (NT) and higher  
RealShellExecuteA 1.30 and higher  
RealShellExecuteW 1.30 and higher  
RealShellExecuteExA 1.30 and higher  
RealShellExecuteExW 1.30 and higher  
ReceiveAddToRecentDocs (647) 4.0 (NT) to 5.50 only  
RefreshBrowserLayout (891) 6.1 and higher  
RegenerateUserEnvironment 1.30 and higher  
RegisterShellHook (181) 1.30 and higher  
RestartDialog (59) 4.0 and higher documented for settlement
RestartDialogEx (730) 6.0 and higher documented for settlement
RLBuildListOfPaths (146) 4.0 and higher  
RunAsNewUser_RunDLLW 6.1 and higher  
RunDll_CallEntry16 (122) 4.0 and higher  
RunFileDlg (61) 4.0 and higher  
RunInstallUninstallStubs (885) 6.1 and higher  
SaveTopViewSettings (897) 6.1 and higher  
SetAppStartingCursor (99) 4.0 and higher  
SetCurrentProcessExplicitAppUserModelID 6.1 and higher documented
SetExplorerServerMode (899) 6.1 and higher  
SetWindowRelaunchProperties (893) 6.1 and higher  
SHAbortInvokeCommand (198) 4.0 and higher  
SHAddDefaultPropertiesByExt 6.0 from Windows Vista, and higher documented
SHAddFromPropSheetExtArray (167) 4.0 and higher documented for settlement
SHAddToRecentDocs 1.30 and higher documented
SHAlloc (196) 4.0 and higher documented for settlement
SHAllocShared (520) 4.0 (NT) and higher documented for settlement
SHAppBarMessage 1.30 and higher documented
SHApplyPropertiesToItem (781) 6.0 from Windows Vista, and higher  
SHAssocEnumHandlers 6.0 from Windows Vista, and higher documented
SHAssocEnumHandlersForProtocolByApplication 6.1 and higher documented
SHBindToFolderIDListParent 6.0 from Windows Vista, and higher documented
SHBindToFolderIDListParentEx 6.0 from Windows Vista, and higher documented
SHBindToObject 6.0 from Windows Vista, and higher documented
SHBindToParent 5.0 and higher documented
SHBrowseForFolder 1.30 and higher documented
SHBrowseForFolderA 1.30 and higher documented
SHBrowseForFolderW 1.30 and higher;
NT-only in 4.0
documented
SHChangeNotification_Lock (644) 4.0 (NT) and higher documented for settlement
SHChangeNotification_Unlock (645) 4.0 (NT) and higher documented for settlement
SHChangeNotify 1.30 and higher documented
SHChangeNotifyDeregister (4) 4.0 and higher documented for settlement
SHChangeNotifyDeregisterWindow (761) 6.0 from Windows Vista, and higher  
SHChangeNotifyReceive (643) 4.0 (NT) and higher  
SHChangeNotifyRegister (2) 4.0 and higher documented for settlement
SHChangeNotifyRegisterThread 6.0 from Windows Vista, and higher documented
SHChangeNotifySuspendResume 5.0 and higher  
SHChangeNotifyUpdateEntryList (5) 4.0 and higher  
SHChangeRegistrationReceive (646) 4.0 (NT) and higher  
SHCloneSpecialIDList (89) 4.0 and higher documented for settlement
SHCLSIDFromString (147) 4.0 and higher documented for settlement
SHCoCreateInstance (102) 4.0 and higher documented for settlement
SHCombineMultipleConditions (825) 6.0 from Windows Vista, and higher  
SHCombineMultipleConditionsEx (847) 6.0 from Windows Vista, and higher  
SHCompareIDsFull (862) 6.0 from Windows Vista, and higher  
SHConfirmOperation (760) 6.0 from Windows Vista, and higher  
SHCopyMonikerToTemp (712) 5.0 and higher  
SHCopyStreamWithProgress (766) 6.0 from Windows Vista, and higher  
SHCreateAndOrCondition (816) 6.0 from Windows Vista, and higher  
SHCreateAndOrConditionEx (815) 6.0 from Windows Vista, and higher  
SHCreateAssociationRegistration 6.0 from Windows Vista, and higher documented
SHCreateAutoList (820) 6.0 from Windows Vista, and higher  
SHCreateAutoListWithID (826) 6.0 from Windows Vista, and higher  
SHCreateCategoryEnum (786) 6.0 from Windows Vista, and higher  
SHCreateConditionFactory (849) 6.0 from Windows Vista, and higher  
SHCreateDataObject 6.0 from Windows Vista, and higher documented
SHCreateDefaultContextMenu 6.0 from Windows Vista, and higher documented
SHCreateDefaultExtractIcon 6.0 from Windows Vista, and higher documented
SHCreateDefaultPropertiesOp 6.0 from Windows Vista, and higher documented
SHCreateDefClassObject (70) 4.0 and higher  
SHCreateDesktop (200) 5.0 and higher  
SHCreateDirectory (165) 4.0 and higher documented for settlement
SHCreateDirectoryExA 5.0 and higher documented
SHCreateDirectoryExW 5.0 and higher documented
SHCreateFileDataObject (740) 6.0 and higher  
SHCreateFileExtractIconW (743) 6.0 and higher documented for settlement
SHCreateFilter (818) 6.0 from Windows Vista, and higher  
SHCreateFilterFromFullText (831) 6.0 from Windows Vista, and higher  
SHCreateInstance (722) 5.50 and higher  
SHCreateItemFromIDList 6.0 from Windows Vista, and higher documented
SHCreateItemFromParsingName 6.0 from Windows Vista, and higher documented
SHCreateItemFromRelativeName 6.0 from Windows Vista, and higher documented
SHCreateItemInKnownFolder 6.0 from Windows Vista, and higher documented
SHCreateItemWithParent 6.0 from Windows Vista, and higher documented
SHCreateKindFilter (872) 6.0 from Windows Vista, and higher  
SHCreateLeafCondition (817) 6.0 from Windows Vista, and higher  
SHCreateLeafConditionEx (814) 6.0 from Windows Vista, and higher  
SHCreateLinks (172) 4.0 and higher  
SHCreateLinksEx (898) 6.1 and higher  
SHCreateLocalServerRunDll 5.50 and higher  
SHCreateNotCondition (844) 6.0 from Windows Vista, and higher  
SHCreateNotConditionEx (830) 6.0 from Windows Vista, and higher  
SHCreateProcessAsUserW 5.0 and higher;
NT only
documented
SHCreatePropertyBag (715) 5.0 and higher  
SHCreatePropSheetExtArray (168) 4.0 and higher documented for settlement
SHCreatePropSheetExtArrayEx (194) 4.71 and higher  
SHCreateQueryCancelAutoPlayMoniker 6.0 and higher documented for settlement
SHCreateRelatedItem (791) 6.1 and higher  
SHCreateRelatedItemFromIDList (788) 6.0 from Windows Vista, and higher  
SHCreateRelatedItemWithParent (789) 6.0 from Windows Vista, and higher  
SHCreateScopeFromIDLists (834) 6.0 from Windows Vista, and higher  
SHCreateScopeFromShellItemArray (836) 6.0 from Windows Vista, and higher  
SHCreateScopeItemFromIDList (835) 6.0 from Windows Vista, and higher  
SHCreateScopeItemFromKnownFolder (838) 6.0 from Windows Vista, and higher  
SHCreateScopeItemFromShellItem (837) 6.0 from Windows Vista, and higher  
SHCreateSearchIDList (822) 6.0 from Windows Vista, and higher  
SHCreateSearchIDListFromAutoList (821) 6.0 from Windows Vista, and higher  
SHCreateSessionKey (723) 6.0 and higher  
SHCreateShellFolderView (256) 4.71 and higher documented for settlement
SHCreateShellFolderViewEx (174) 4.0 and higher documented for settlement
SHCreateShellItem 6.0 and higher documented for settlement
SHCreateShellItemArray 6.0 from Windows Vista, and higher documented
SHCreateShellItemArrayFromDataObject 6.0 from Windows Vista, and higher documented
SHCreateShellItemArrayFromIDLists 6.0 from Windows Vista, and higher documented
SHCreateShellItemArrayFromShellItem 6.0 from Windows Vista, and higher documented
SHCreateStdEnumFmtEtc (74) 4.0 and higher documented for settlement
SHCreateThreadUndoManager (758) 6.0 from Windows Vista, and higher  
SHCreateTransientVFolderIDList (827) 6.0 from Windows Vista, and higher  
SHDefExtractIconA (3) 4.71 and higher documented for settlement
SHDefExtractIconW (6) 4.71 and higher documented for settlement
SHDesktopMessageLoop (201) 5.0 and higher  
SHDestroyPropSheetExtArray (169) 4.0 and higher documented for settlement
SHDisplayNameFromScopeAndSubQueries (861) 6.0 from Windows Vista, and higher  
SHDoDragDrop (88) 4.0 and higher documented for settlement
SHDoDragDropWithPreferredEffect (884) 6.1 and higher  
SheChangeDirA 1.30 and higher  
SheChangeDirW 1.30 to 6.0 from before Windows Vista  
SheChangeDirExA 1.30 to 6.0 from before Windows Vista  
SheChangeDirExW 1.30 and higher  
SheConvertPathW 1.30 to 6.0 from before Windows Vista  
SheFullPathA 1.30 to 6.0 from before Windows Vista  
SheFullPathW 1.30 to 6.0 from before Windows Vista  
SheGetCurDrive 1.30 to 6.0 from before Windows Vista  
SheGetDirA 1.30 and higher  
SheGetDirW 1.30 to 6.0 from before Windows Vista  
SheGetDirExW 1.30 to 6.0 from before Windows Vista  
SheGetPathOffsetW 1.30 to 6.0 from before Windows Vista  
Shell_GetCachedImageIndex (72) 4.0 and higher documented for settlement
Shell_GetCachedImageIndexA 6.0 from Windows Vista, and higher documented
Shell_GetCachedImageIndexW 6.0 from Windows Vista, and higher documented
Shell_GetImageLists (71) 4.0 and higher documented for settlement
Shell_MergeMenus (67) 4.0 and higher documented for settlement
Shell_NotifyIcon 1.30 and higher documented
Shell_NotifyIconA 1.30 and higher documented
Shell_NotifyIconGetRect 6.1 and higher documented
Shell_NotifyIconW 1.30 and higher;
NT-only in 4.0
documented
ShellAbout 1.30 only  
ShellAboutA 1.30 and higher documented
ShellAboutW 1.30 and higher documented
ShellDDEInit (188) 5.0 and higher  
ShellExec_RunDLL 5.0 and higher (documented)
ShellExec_RunDLLA 5.0 and higher (documented)
ShellExec_RunDLLW 5.0 and higher (documented)
ShellExecCmdLine (265) 6.0 from Windows Vista, and higher  
ShellExecPidl (266) 6.0 from Windows Vista, and higher  
ShellExecute 1.30 only  
ShellExecuteA 1.30 and higher documented
ShellExecuteW 1.30 and higher documented
ShellExecuteEx 1.30 and higher documented
ShellExecuteExA 1.30 and higher documented
ShellExecuteExW 1.30 and higher;
NT-only in 4.0
documented
ShellHookProc 1.30 and higher;
NT-only in 4.0
 
ShellMessageBoxA (183) 4.0 and higher documented for settlement
ShellMessageBoxW (182) 4.0 (NT) and higher documented for settlement
SHEmptyRecycleBinA 4.71 and higher documented
SHEmptyRecycleBinW 4.71 and higher documented
SHEnableServiceObject 6.0 and higher  
SHEnumClassesOfCategories (881) 6.1 and higher  
SHEnumerateUnreadMailAccountsW 6.0 and higher documented
SheRemoveQuotesA 1.30 to 6.0 from before Windows Vista  
SheRemoveQuotesW 1.30 to 6.0 from before Windows Vista  
SheSetCurDrive 1.30 and higher  
SheShortenPathA 1.30 to 6.0 from before Windows Vista  
SheShortenPathW 1.30 to 6.0 from before Windows Vista  
SHEvaluateSystemCommandTemplate 6.0 from Windows Vista, and higher documented
SHExitWindowsEx 4.72 to 5.50;
Windows only
 
SHExtCoCreateInstance (866) 6.0 from Windows Vista, and higher  
SHExtCoCreateInstanceCheckCategory (887) 6.1 and higher  
SHExtractIconsW 5.0 and higher documented in 2004-2006
SHFileOperation 1.30 and higher documented
SHFileOperationA 1.30 and higher documented
SHFileOperationW 1.30 and higher;
NT-only in 4.0
documented
SHFileSysBindToStorage (691) 6.0 and higher  
SHFilterConditionFromString (841) 6.0 from Windows Vista, and higher  
SHFilterConditionToString (842) 6.0 from Windows Vista, and higher  
SHFind_InitMenuPopup (149) 4.0 and higher documented for settlement
SHFindComputer (91) 4.0 and higher  
SHFindFiles (90) 4.0 and higher documented for settlement
SHFlushClipboard (121) 4.0 and higher documented for settlement
SHFlushSFCache (526) 4.71 and higher documented for settlement
SHFormatDrive 1.30 and higher documented for settlement
SHFree (195) 4.0 and higher documented for settlement
SHFreeNameMappings 1.30 and higher documented
SHFreeShared (523) 4.0 (NT) and higher documented for settlement
SHFreeUnusedLibraries (123) 4.0 and higher  
SHGetActiveConsoleSessionId (247) 6.0 and higher  
SHGetAppCompatFlags (681) 5.0 and higher  
SHGetAssocKeys (777) 6.0 from Windows Vista, and higher  
SHGetAttributesFromDataObject (750) 6.0 and higher documented for settlement
SHGetComputerDisplayNameW (752) 6.0 and higher  
SHGetCorrectOwnerSid (860) 6.0 from Windows Vista, and higher  
SHGetDataFromIDListA 4.0 and higher documented
SHGetDataFromIDListW 4.0 (NT) and higher documented
SHGetDefaultUserPicture (811) 6.0 from Windows Vista, and higher  
SHGetDesktopFolder 1.30 and higher documented
SHGetDiskFreeSpaceA 4.71 and higher documented
SHGetDiskFreeSpaceExA 5.0 and higher documented in 2004-2006
SHGetDiskFreeSpaceExW 5.0 and higher documented in 2004-2006
SHGetDriveMedia 6.0 from Windows Vista, and higher documented
SHGetFileIcon (199) 4.0 only  
SHGetFileInfo 1.30 and higher documented
SHGetFileInfoA 1.30 and higher documented
SHGetFileInfoW 1.30 and higher;
NT-only in 4.0
documented
SHGetFolderLocation 5.0 and higher documented
SHGetFolderPathA 5.0 and higher documented
SHGetFolderPathW 5.0 and higher documented
SHGetFolderPathAndSubDirA 6.0 and higher documented
SHGetFolderPathAndSubDirW 6.0 and higher documented
SHGetFolderPathEx 6.0 from Windows Vista, and higher  
SHGetFolderTypeDescription (823) 6.0 from Windows Vista, and higher  
SHGetFolderTypeFromCanonicalName (824) 6.0 from Windows Vista, and higher  
SHGetIconOverlayIndexA 5.0 and higher documented
SHGetIconOverlayIndexW 5.0 and higher documented
SHGetIdentifyItem (843) 6.0 from Windows Vista, and higher  
SHGetIDListFromObject 6.0 from Windows Vista, and higher documented
SHGetImageList (727) 6.0 and higher documented
SHGetInstanceExplorer 1.30 and higher documented
SHGetItemFromDataObject 6.1 and higher documented
SHGetItemFromObject 6.1 and higher documented
SHGetKnownFolderIDList 6.0 from Windows Vista, and higher documented
SHGetKnownFolderItem 6.1 and higher documented
SHGetKnownFolderPath 6.0 from Windows Vista, and higher documented
SHGetLocalizedName 6.0 from Windows Vista, and higher documented
SHGetMalloc 1.30 and higher documented
SHGetNameFromIDList 6.0 from Windows Vista, and higher documented
SHGetNetResource (69) 4.0 and higher  
SHGetNewLinkInfo 1.30 and higher;
NT-only in 4.0
documented
SHGetNewLinkInfoA (179) 4.0 and higher documented
SHGetNewLinkInfoW (180) 4.0 (NT) and higher documented
SHGetNoAssocIconIndex (848) 6.0 from Windows Vista, and higher  
SHGetPathFromIDList 1.30 and higher documented
SHGetPathFromIDListA 1.30 and higher documented
SHGetPathFromIDListW 1.30 and higher;
NT-only in 4.0
documented
SHGetPathFromIDListEx 6.0 from Windows Vista, and higher documented
SHGetProcessDword (242) 4.71 and higher  
SHGetPropertyStoreForWindow 6.1 and higher documented
SHGetPropertyStoreFromIDList 6.0 from Windows Vista, and higher documented
SHGetPropertyStoreFromParsingName 6.0 from Windows Vista, and higher documented
SHGetRealIDL (98) 4.0 and higher documented for settlement
SHGetSetFolderCustomSettingsA (708) 5.0 and higher documented for settlement
SHGetSetFolderCustomSettingsW (709) 5.0 and higher documented for settlement
SHGetSetSettings (68) 4.0 and higher documented for settlement
SHGetSettings 4.71 and higher documented
SHGetShellFolderViewCB (257) 4.71 and higher  
SHGetShellStyleHInstance (749) 6.0 and higher documented for settlement
SHGetSpecialFolderLocation 1.30 and higher documented
SHGetSpecialFolderPathA 4.71 and higher documented
SHGetSpecialFolderPathW (175) 4.0 and higher documented
SHGetStockIconInfo 6.0 from Windows Vista, and higher documented
SHGetTemporaryPropertyForItem 6.0 from Windows Vista, and higher documented
SHGetThreadUndoManager (759) 6.0 from Windows Vista, and higher  
SHGetTopViewDescription (851) 6.1 and higher  
SHGetUnreadMailCountW 6.0 and higher documented
SHGetUserDisplayName (241) 6.0 and higher  
SHGetUserPicturePath (261) 6.0 from Windows Vista, and higher  
SHGetUserPicturePathW (233) 6.0 and higher  
SHGetUserSessionId (248) 6.0 and higher  
SHGetUserPicturePathEx (810) 6.0 from Windows Vista, and higher  
SHGlobalDefect (197) 4.0 and higher  
SHHandleDiskFull (185) 4.0 and higher  
SHHandleUpdateImage (193) 4.71 and higher documented for settlement
SHHelpShortcuts_RunDLL 1.30 and higher (documented)
SHHelpShortcuts_RunDLLA 4.0 (NT) and higher (documented)
SHHelpShortcuts_RunDLLW 4.0 (NT) and higher (documented)
SHIconIndexFromPIDL (873) 6.0 from Windows Vista, and higher  
SHILCreateFromPath (28) 4.0 and higher documented for settlement
SHInitializeControlPanelRegkeys (852) 6.0 from Windows Vista, and higher  
SHInvokePrinterCommandA 4.71 and higher documented
SHInvokePrinterCommandW 4.71 and higher documented
SHInvokePrivilegedFunctionW (246) 6.0 and higher  
SHIsBadInterfacePtr (84) 4.0 and higher  
SHIsCurrentProcessConsoleSession (253) 6.0 and higher  
SHIsFileAvailableOffline 5.0 and higher documented
SHIsLegacyAnsiProperty (690) 5.0 and higher  
SHIsTempDisplayMode (724) 6.0 and higher  
SHKnownFolderFromCSIDL (833) 6.0 from Windows Vista, and higher  
SHKnownFolderToCSIDL (832) 6.0 from Windows Vista, and higher  
Shl1632_ThunkData32 4.00 (Windows) only (documented)
Shl3216_ThunkData32 4.00 (Windows) only (documented)
SHLaunchSearch (874) 6.0 from Windows Vista SP1 and SP2 only  
SHLaunchSearch (886) 6.1 and higher  
SHLimitInputCombo (748) 6.0 and higher  
SHLimitInputEdit (747) 6.0 and higher documented for settlement
SHLimitInputEditWithFlags (754) 6.0 and higher  
SHLimitInputEndSubclass (888) 6.1 and higher  
SHLoadFilterFromStream (819) 6.0 from Windows Vista, and higher  
SHLoadInProc 1.30 and higher documented
SHLoadNonloadedIconOverlayIdentifiers 5.0 and higher documented
SHLoadOLE (151) 4.0 and higher documented for settlement
SHLocalAlloc (200) 4.0 only  
SHLocalFree (201) 4.0 only  
SHLocalReAlloc (202) 4.0 only  
SHLockShared (521) 4.0 (NT) and higher documented for settlement
SHLogILFromFSIL (95) 4.0 and higher  
SHLookupIconIndexA (7) 4.71 and higher  
SHLookupIconIndexW (8) 4.71 and higher  
SHMapIDListToImageListIndexAsync (148) 6.0 and higher documented for settlement
SHMapIDListToSystemImageListIndexAsync (787) 6.0 from Windows Vista, and higher  
SHMapIDListToSystemImageListIndex (790) 6.0 from Windows Vista, and higher  
SHMapPIDLToSystemImageListIndex (77) 4.0 and higher documented for settlement
SHMultiFileProperties (716) 5.0 and higher documented for settlement
SHNetConnectionDialog (160) 4.0 and higher  
SHObjectProperties (178) 1.30 and higher;
but not 3.51
documented for settlement
SHOpenEffectiveToken (235) 6.0 and higher  
SHOpenFolderAndSelectItems 5.50 and higher documented
SHOpenPropSheetA (707) 4.71 and higher  
SHOpenPropSheetW (80) 4.71 and higher documented for settlement
SHOpenWithDialog 6.0 from Windows Vista, and higher documented
ShortSizeFormatW (204) 4.0 and higher;
NT only
 
SHOutOfMemoryMessageBox (126) 4.0 and higher  
SHParseDarwinIDFromCacheW (719) 6.0 and higher  
SHParseDisplayName 6.0 and higher documented
SHPathPrepareForWriteA 5.0 and higher documented
SHPathPrepareForWriteW 5.0 and higher documented
SHPropStgCreate (685) 5.0 and higher documented for settlement
SHPropStgReadMultiple (688) 5.0 and higher documented for settlement
SHPropStgWriteMultiple (689) 5.0 and higher documented for settlement
SHQueryRecycleBinA 4.71 and higher documented
SHQueryRecycleBinW 4.71 and higher documented
SHQueryUserNotificationState 6.0 from Windows Vista, and higher documented
SHRegCloseKey (505) 4.0 (NT) to 4.72 only  
SHRegDeleteKeyW (512) 4.0 (NT) to 4.72 only  
SHRegisterDarwinLink (731) 6.0 and higher  
SHRegisterDragDrop (86) 4.0 and higher  
SHRegOpenKeyA (506) 4.0 (NT) to 4.72 only  
SHRegOpenKeyW (507) 4.0 (NT) to 4.72 only  
SHRegQueryValueA (508) 4.0 (NT) to 4.72 only  
SHRegQueryValueW (509) 4.0 (NT) to 4.72 only  
SHRegQueryValueExA (510) 4.0 (NT) to 4.72 only  
SHRegQueryValueExW (511) 4.0 (NT) to 4.72 only  
SHRemoveLocalizedName 6.0 from Windows Vista, and higher documented
SHReplaceFromPropSheetExtArray (170) 4.0 and higher documented for settlement
SHResolveLibrary 6.1 and higher  
SHResolveUserNames (270) 6.0 from Windows Vista, and higher  
SHRestricted (100) 4.0 and higher documented for settlement
SHReValidateDarwinCache (732) 6.0 and higher  
SHRevokeDragDrop (87) 4.0 and higher  
SHRunControlPanel (161) 4.0 and higher  
SHSetDefaultProperties 6.0 from Windows Vista, and higher documented
SHSetFolderPathA (231) 5.0 and higher documented
SHSetFolderPathW (232) 5.0 and higher documented
SHSetInstanceExplorer (176) 4.0 and higher documented for settlement
SHSetKnownFolderPath 6.0 from Windows Vista, and higher documented
SHSetLocalizedName 6.0 and higher documented
SHSetShellWindowEx (243) 4.71 and higher  
SHSetTemporaryPropertyForItem 6.0 from Windows Vista, and higher documented
SHSettingsChanged (244) 4.71 and higher  
SHSetUnreadMailCountW 6.0 and higher documented
SHSetUserPicturePath (262) 6.0 from Windows Vista, and higher  
SHSetUserPicturePathW (234) 6.0 and higher  
SHShellFolderView_Message (73) 4.0 and higher documented for settlement
SHShouldShowWizards (237) 6.0 and higher  
SHShowManageLibraryUI 6.1 and higher  
SHSimpleIDListFromPath (162) 4.0 and higher documented for settlement
SHSimulateDropOnClsid (751) 6.0 and higher  
SHStartNetConnectionDialog (215) 4.0 (NT) and higher documented for settlement
SHStartNetConnectionDialogA (12) 4.71 and higher documented for settlement
SHStartNetConnectionDialogW (14) 4.71 and higher documented for settlement
SHStgOpenStorageA (684) 5.0 and higher  
SHStgOpenStorageW (683) 5.0 and higher  
SHTestTokenMembership (245) 6.0 and higher documented for settlement
SHTestTokenPrivilegeW (236) 6.0 and higher  
SHUnlockShared (522) 4.0 (NT) and higher documented for settlement
SHUpdateImageA (191) 4.71 and higher documented
SHUpdateImageW (192) 4.71 and higher documented
SHUpdateRecycleBinIcon 4.0 (NT) and higher  
SHUserGetPasswordHint (812) 6.0 from Windows Vista, and higher  
SHUserSetPasswordHint (813) 6.0 from Windows Vista, and higher  
SHValidateUNC (173) 4.0 and higher documented for settlement
SHWaitForFileToOpen (97) 4.0 and higher  
SHWaitOp_Operate (648) 4.0 (NT) and higher  
SHWinHelp (127) 4.0 and higher  
SHWriteClassesOfCategories (882) 6.1 and higher  
SignalFileOpen (103) 4.0 and higher documented for settlement
StampIconForElevation (864) 6.0 from Windows Vista, and higher  
StgMakeUniqueName 6.1 and higher documented
StrChrA 1.30 and higher;
NT only
documented (SHLWAPI)
StrChrW 1.30 and higher;
NT only
documented (SHLWAPI)
StrChrIA 1.30 and higher;
NT only
documented (SHLWAPI)
StrChrIW 1.30 and higher;
NT only
documented (SHLWAPI)
StrCmpNA 1.30 and higher;
NT only
documented (SHLWAPI)
StrCmpNW 1.30 and higher;
NT only
documented (SHLWAPI)
StrCmpNIA 1.30 and higher;
NT only
documented (SHLWAPI)
StrCmpNIW 1.30 and higher;
NT only
documented (SHLWAPI)
StrCpyNA 1.30 to 6.0 from before Windows Vista;
NT only
 
StrCpyNW 1.30 to 6.0 from before Windows Vista;
NT only
documented (SHLWAPI)
StrNCmpA 1.30 and higher;
NT only
 
StrNCmpW 1.30 and higher;
NT only
 
StrNCmpIA 1.30 and higher;
NT only
 
StrNCmpIW 1.30 and higher;
NT only
 
StrNCpyA 1.30 to 6.0 from before Windows Vista;
NT only
 
StrNCpyW 1.30 to 6.0 from before Windows Vista;
NT only
 
StrRChrA 1.30 and higher;
NT only
documented (SHLWAPI)
StrRChrW 1.30 and higher;
NT only
documented (SHLWAPI)
StrRChrIA 1.30 and higher;
NT only
documented (SHLWAPI)
StrRChrIW 1.30 and higher;
NT only
documented (SHLWAPI)
StrRetToStrN (96) 4.0 and higher documented in 2005-2006
StrRStrA 1.30 and higher;
NT only
 
StrRStrW 1.30 and higher;
NT only
 
StrRStrIA 1.30 and higher;
NT only
documented (SHLWAPI)
StrRStrIW 1.30 and higher;
NT only
documented (SHLWAPI)
StrStrA 1.30 and higher;
NT only
documented (SHLWAPI)
StrStrW 1.30 and higher;
NT only
documented (SHLWAPI)
StrStrIA 1.30 and higher;
NT only
documented (SHLWAPI)
StrStrIW 1.30 and higher;
NT only
documented (SHLWAPI)
StrToOleStr (163) 4.0 and higher  
StrToOleStrN (79) 4.0 and higher  
UpdateWallpaperTransition (901) 6.1 and higher  
WaitForExplorerRestartW 6.0 from Windows Vista, and higher  
Win32CreateDirectory (93) 4.0 and higher  
Win32DeleteFile (164) 4.0 and higher documented
Win32RemoveDirectory (94) 4.0 and higher  
WIN32SYSDLL 1.30 only (documented)
WOWShellExecute 1.30 and higher;
NT only
documented in 2004-2006
WPC_InstallState (859) 6.0 from Windows Vista, and higher  
WriteCabinetState (652) 4.0 (NT) and higher documented for settlement
(unknown name, ordinal 81) 4.00 to 5.50 only;
Windows only
 
(unknown name, ordinal 280) 4.71 and 4.72 only  
(unknown name, ordinal 1217) 4.0 to 5.50 only;
Windows only
 

Notes

Familiarity is assumed with the Reading Guide for the Windows Shell Study.

Names

Function names are reproduced from the export directory of the SHELL32.DLL executable, wherever possible. For functions that are not exported by name (i.e., are exported only by ordinal) from any known SHELL32 version, names are inferred from symbol files that Microsoft supplies for customer support. If a function is known as an ordinal-only export from at least one SHELL32 version, then even if later versions also export the function by name, the ordinal persists and is given in brackets immediately after the function’s name.

Versions

The SHELL32 versions shown for each function are inferred from a study of known releases, making reasonable assumptions about likely continuity, especially to suppose that a function will exist in future versions or that a function exists in all builds of a version if no counter-example is yet known.

Documentation Status

Except where otherwise stated, the reference for all comment on Microsoft’s documentation is the January 2007 edition of the Windows Vista Software Development Kit (as distributed by Microsoft on MSDN Disc 3667), especially but not only under the heading Shell Functions. Some SHELL32 functions are documented under headings that have no immediate relationship to SHELL32. For instance, some are documented in the Icon Reference under Windows User Interface (with functions that are mostly exported from USER32). I expect this scattering occurs because the documentation models someone’s notions of functionality, regardless of where the functionality actually got implemented. However it comes about, it makes as good a reminder as any for caution: that a function is not marked above as documented (or is marked elsewhere as undocumented) does not mean for certain that Microsoft does not document it, just that I haven’t yet found where.

Functions that were documented among the Settlement Program Interfaces in late 2002 are labelled specifically as “documented for settlement”. Some functions that predate the January 2004 edition of the MSDN Library on CD (which was the previous reference version for this study) and were not documented therein have got documented since. These are labelled “documented” but with a year or range of years, with as much precision as I happen to know.

Some functions are not documented as exports from SHELL32 but fit a general case described in the reading guide, such that it would be ungenerous to expect documentation specifically for COMCTL32. These are indicated by enclosing the whole documentation status in brackets.

A few functions are shown as documented but with “SHLWAPI” in brackets. Strictly speaking, these are undocumented as SHELL32 functions. Each has long been either coded as a simple redirection to an implementation in the Shell Light-Weight Utility (SHLWAPI) library or just forwarded through the export directory, and it is this other implementation, not the one in SHELL32, that Microsoft documents.