Deprecated Shell APIs

[ FOLDERSETDATA may be altered or unavailable in subsequent versions of the operating system or product.]

[This function is available through Windows XP with Service Pack 2 (SP2) and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows. ]

[This function is available in Windows 2000 and through Windows XP Service Pack 2 (SP2). It is no longer available as of Windows Vista.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[CharLowerWrapW is available for use in Windows XP. It may not be available in subsequent versions. You should use CharLowerW in its place.]

[CharUpperBuffWrapW is available for use in Windows XP. It may not be available in subsequent versions. You should use CharUpperBuffW in its place.]

[CompareStringWrapW is available for use in Windows XP. It will not be available in subsequent versions. You should use CompareStringW in its place.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is not available as of Windows Vista.]

[This function is deprecated and might be altered or unavailable in subsequent versions.]

[ DAD_AutoScroll is available in Windows 2000 and Windows XP. It might be altered or unavailable in subsequent versions.]

[ DAD_DragEnterEx is available in Windows 2000 and Windows XP. It might be altered or unavailable in subsequent versions. Use ImageList_DragEnter instead. ]

[ DAD_DragEnterEx2 is available in Windows 2000 and Windows XP. It might be altered or unavailable in subsequent versions. Use ImageList_DragEnter instead.]

[ DAD_DragLeave is available in Windows 2000 and Windows XP. It might be altered or unavailable in subsequent versions. Use ImageList_DragLeave instead.]

[ DAD_DragMove is available in Windows 2000 and Windows XP. It might be altered or unavailable in subsequent versions. Use ImageList_DragMove instead. ]

[ DAD_SetDragImage is available in Windows 2000 and Windows XP. It might be altered or unavailable in subsequent versions. Use ImageList_BeginDrag instead.]

[ DAD_ShowDragImage is available in Windows 2000 and Windows XP. It might be altered or unavailable in subsequent versions. Use ImageList_DragShowNolock instead. ]

[This function is retained only for backward compatibility. Use ExpandEnvironmentStrings instead.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows. ]

[This function is available on Windows XP with SP2 through Windows Vista. It might be altered or unavailable in subsequent versions of Windows. Client applications instead should use IAttachmentExecute to present a user environment that provides safe download and exchange of files through email and messaging attachments.]

[FindResourceWrapW is available for use in Windows XP. It may not be available in subsequent versions. You should use FindResourceW instead.]

[GetDateFormatWrapW is available for use in Windows XP. It will not be available in subsequent versions. You should use GetDateFormatW in its place.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[GetTimeFormatWrapW is available for use in Windows XP. It may not be available in subsequent versions. You should use GetTimeFormatW in its place.]

[ GUIDFromString is available through Windows XP with SP2 or Windows Vista. It might be altered or unavailable in subsequent versions. Applications should use CLSIDFromString or IIDFromString in place of this function.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[IsCharAlphaNumericWrapW is available for use in Windows XP. It will not be available in subsequent versions. You should use IsCharAlphaNumericW in its place.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows. Use GetDriveType or WNetGetConnection instead.]

[This interface is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows. Use InitCommonControlsEx instead.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is not available for use as of Windows 7.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is not available for use as of Windows 7.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available for use in Windows XP. It may not be available in subsequent versions. Use OutputDebugStringW in its place.]

[The ParseField function is currently expected to be available for use in the next version of the Microsoft Windows operating system. It might be altered or unavailable in subsequent versions.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is not supported as of Windows Vista.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows. Use CoTaskMemAlloc instead.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This structure is not supported.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows. Use CLSIDFromString instead.]

[SHCreateProcessAsUserW is not implemented under Windows XP or later systems.]

[SHCreateProcessAsUserW is no longer implemented in Windows XP or later versions.]

[This function is deprecated. Use CreateClassMoniker instead. Note that the CLSID used in the call to CreateClassMoniker must be application-defined. Do not call CreateClassMoniker with a system-defined CLSID.]

[ SHDestroyPropSheetExtArray is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[ SHExtractIconsW is available through Windows XP SP2. It might be altered or unavailable in subsequent versions.]

[This function is available through Windows XP SP2 and Windows Server 2003. It is not supported under Windows Vista and later. Use OleFlushClipboard instead.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows. Use CoTaskMemFree instead.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[SHGetMalloc is available through Windows Vista and Windows Server 2003, but may be altered or unavailable in subsequent versions of the operating system or product. See the Remarks section for alternate recommendations.]

[SHGetShellStyleHInstance is available for use in the Windows XP operating system up to and including SP2. It is not available in later versions of Windows, such as Windows Vista.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP SP2 and Windows Server 2003. It is not supported as of Windows Vista.]

[This function is available through Windows XP SP2 and Windows Server 2003. It is not available as of Windows Vista.]

[This function is no longer supported.]

[This function is no longer supported.]

[This function is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This function is available through Windows XP with SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This object is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This object is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This object is available through Windows XP SP2 and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This object is available through Windows XP Service Pack 2 (SP2) and Windows Server 2003. It might be altered or unavailable in subsequent versions of Windows.]

[This object is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This object is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This object is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This object is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This object is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This object is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[The only method, DoContextMenuPopup, is no longer available for use as of Windows Server 2003.]

[This interface has been deprecated. It is supported through Windows XP SP2 and Windows Server 2003. It is not supported as of Windows Vista.]

[ IDeskBandInfo may be altered or unavailable in subsequent versions of the operating system or product.]

[This interface is supported through Windows XPSP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This interface is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This interface is supported through Windows XP SP2 and Windows Server 2003. It is not supported as of Windows Vista.]

[The IEnumSyncItems interface is available for use through Windows XP. It is not available in subsequent versions of Windows.]

[The IEnumSyncSchedules interface is available for use through Windows XP. It is unavailable in subsequent versions of Windows.]

[The IIdentityChangeNotify interface is available for use in Windows 2000. In Windows XP, this functionality has been superseded by User Accounts with Fast User Switching and Remote Desktop, and might be altered or unavailable in subsequent versions.]

[This interface is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This interface is not supported as of Windows Vista. It has been removed from the public headers.]

[This interface is supported through Windows XP SP2 and Windows Server 2003. It is not supported as of Windows Vista.]

[This interface is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[ IShellFolderView is no longer available for use as of Windows 7. Instead, use IFolderView2 and IFolderView.]

[This interface will eventually be unsupported. It is recommended that Windows GDI+ APIs be used in place of IShellImageData methods.]

[IShellTaskScheduler2 is available in Windows XP. It might be altered or unavailable in subsequent versions.]

[The ISyncSchedule interface is available for use through Windows XP. It is not available in subsequent versions of Windows.]

[The ISyncScheduleMgr interface is available for use through Windows XP. It is not available in subsequent versions of Windows.]

[ ITravelEntry may not be supported in versions of Windows later than Windows XP.]

[This notification is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

[This notification is supported through Windows XP SP2 and Windows Server 2003. It might be unsupported in subsequent versions of Windows.]

The following APIs are either deprecated or superseded by newer APIs.

In this section

Topic Description
AUTO_SCROLL_DATA
AUTO_SCROLL_DATA may be altered or unavailable.
CABINETSTATE
CABINETSTATE may be altered or unavailable.
DESKBANDINFO
Receives information about a band object. This structure is used with the deprecated IDeskBand::GetBandInfo method.
SECURELOCK
Deprecated. This enumeration is used by the BASEBROWSERDATA structure to indicate the base browser's lock icon status.
FOLDERSETDATA
Deprecated. Data used in IBrowserService2::GetFolderSetData.
TOOLBARITEM
Deprecated. Data used in IBrowserService2::_GetToolbarItem, IBrowserService2::v_MayGetNextToolbarFocus, and IBrowserService2::_SetFocus to define a toolbar item.
AddMRUStringW
Adds a string to the top of the most recently used (MRU) list.
CallCPLEntry16
Performs no function. Provided for backward compatibility.
CanShareFolderW
Used to determine whether to show the Share this folder option in web view.
CharLowerWrapW
Converts a Unicode character string or a single character to lowercase. If the operand is a character string, the function converts the characters in place.
[!Note]
CharLowerWrapW is a wrapper for the CharLowerW function. See the CharLower page for further usage notes.

CharUpperBuffWrapW
Converts lowercase characters in a buffer to uppercase characters. The function converts the characters in place.
[!Note]
CharUpperBuffWrapW is a wrapper for the CharUpperBuffW function. See the CharUpperBuff page for further usage notes.

CIDLData_CreateFromIDArray
CIDLData_CreateFromIDArray may be altered or unavailable.
CompareStringWrapW
Compares two Unicode character strings, using a specified locale.
[!Note]
CompareStringWrapW is a wrapper for the CompareStringW function. See the CompareString page for further usage notes.

ConnectToConnectionPoint
Establishes or terminates a connection between a client's sink and a connection point container.
CreateHardwareEventMoniker
Creates a moniker representing a hardware component and its associated event handler. AutoPlay uses this function to allow applications to use AutoPlay events.
CreateUserProfileEx
Creates a user profile for a specified user.
CscSearchApiGetInterface
Creates an instance of a CCscSearchApiInterface object.
DAD_AutoScroll
Scrolls the window while an image is being dragged.
DAD_DragEnterEx
Locks updates to the specified window during a drag operation and displays the drag image at the specified position within the window.
DAD_DragEnterEx2
Locks updates to the specified window during a drag-and-drop operation and displays the drag image at the specified position within the window.
DAD_DragLeave
Unlocks the window locked by the DAD_DragEnterEx function.
DAD_DragMove
Moves the image that is being dragged during a drag-and-drop operation.
DAD_SetDragImage
Sets the drag image.
DAD_ShowDragImage
Shows or hides the image being dragged.
DoEnvironmentSubst
Parses an input string that contains references to one or more environment variables and replaces them with their fully expanded values.
DriveType
DriveType may be altered or unavailable.
EnumMRUListW
Enumerates the contents of the MRU list. Optionally retrieves an item from the enumeration.
EstimateFileRiskLevel
Estimates the risk of executing unknown code when a handler is called on a given file. This risk is based on an understanding of the handler and the code content of the file.
ExtractAssociatedIconEx
ExtractAssociatedIconEx may be altered or unavailable.
FindResourceWrapW
Determines the location of a resource with the specified type and name, in the specified module.
[!Note]
FindResourceWrapW is a wrapper for the FindResourceW function. See FindResource for further usage notes.

GetDateFormatWrapW
Formats a date as a date string for a specified locale. The function formats either a specified date or the local system date.
[!Note]
GetDateFormatWrapW is a wrapper for the GetDateFormatW function. See the GetDateFormat page for further usage notes.

GetFileNameFromBrowse
Creates an Open dialog box so that the user can specify the drive, directory, and name of a file to open.
GetMenuPosFromID
GetMenuPosFromID may be altered or unavailable.
GetTimeFormatWrapW
Formats time as a time string for a specified locale. The function formats either a specified time or the local system time.
[!Note]
GetTimeFormatWrapW is a wrapper for the GetTimeFormatW function. See the GetTimeFormat page for further usage notes.

GUIDFromString
Converts a string to a GUID.
ILLoadFromStream
Deprecated. Loads an ITEMIDLIST structure from a stream.
ILLoadFromStreamEx(IStream*, PIDLIST_ABSOLUTE*)
This function may be altered or unavailable.
ILLoadFromStreamEx(IStream*, PIDLIST_RELATIVE*)
This function may be altered or unavailable.
ILLoadFromStreamEx(IStream*, PITEMID_CHILD*)
This function may be altered or unavailable.
IsCharAlphaNumericWrapW
Determines whether a character is either an alphabetical or a numeric character. This determination is based on the semantics of the language selected by the user during setup or through Control Panel.
[!Note]
IsCharAlphaNumericWrapW is a wrapper for the IsCharAlphaNumericW function. See the IsCharAlphaNumeric page for further usage notes.

IsNetDrive
Tests whether a drive is a network drive.
IsUserAnAdmin
IsUserAnAdmin may be altered or unavailable.
LPFNDFMCALLBACK
LPFNDFMCALLBACK may be altered or unavailable.
LPFNVIEWCALLBACK
Defines the prototype for the callback function used by the system folder view object. This function essentially duplicates the functionality of IShellFolderViewCB.
LinkWindow_RegisterClass
Registers a window class that allows for the SysLink common control to be used in a window.
LinkWindow_UnregisterClass
Unregisters a window class registered by LinkWindow_RegisterClass.
MLFreeLibrary
Unmaps a resource DLL loaded by the MLLoadLibrary function.
MLHtmlHelp
Displays a help window that corresponds to the current UI language setting.
MLLoadLibrary
Maps an appropriate resource DLL into the address space of the calling function, based on the user's default UI language.
MLWinHelp
Starts Windows Help (Winhelp.exe) and passes additional data that indicates the nature of the help requested by the application.
OpenRegStream
OpenRegStream may be altered or unavailable. Instead, use SHOpenRegStream2 or SHOpenRegStream.
OutputDebugStringWrapW
Sends a Unicode string to the debugger for display.
[!Note]
OutputDebugStringWrapW is a wrapper for the OutputDebugStringW function. See the OutputDebugString page for further usage notes.

ParseField
Reads a line from Setup.inf and extracts the specified field from the string.
PassportWizardRunDll
Launches the Passport Wizard when used with Rundll32.exe.
PathCleanupSpec
PathCleanupSpec may be altered or unavailable.
PathGetShortPath
PathGetShortPath may be altered or unavailable.
PathIsExe
PathIsExe may be altered or unavailable.
PathIsSlow
PathIsSlow may be altered or unavailable.
PathProcessCommand
Deprecated. Processes a string that contains a command line and generates a suitably quoted string, with arguments attached if required.
PathResolve
PathResolve may be altered or unavailable.
PerUserInit
Creates My Documents and other special folders, initializes them as needed, and creates the Send To shortcut menu item for My Documents.
PFNASYNCICONTASKCALLBACK
Defines the prototype for the callback function used by SHMapIDListToImageListIndexAsync.
PickIconDlg
PickIconDlg may be altered or unavailable.
ReadCabinetState
ReadCabinetState may be altered or unavailable.
RealDriveType
RealDriveType may be altered or unavailable.
RestartDialog
Displays a dialog box that prompts the user to restart Windows. When the user clicks the button, the function calls ExitWindowsEx to attempt to restart Windows.
RestartDialogEx
Displays a dialog box that asks the user to restart Windows. When the user clicks the button, the function calls ExitWindowsEx to attempt to restart Windows.
SHAddFromPropSheetExtArray
Adds pages to a property sheet extension array created by SHCreatePropSheetExtArray.
SHAlloc
Allocates memory from the Shell's heap.
SHAllocShared
SHAllocShared may be altered or unavailable.
SHAnsiToAnsi
Copies an ANSI string.
SHAnsiToUnicode
Converts a string from the ANSI code page to the Unicode code page.
SHChangeDWORDAsIDList
SHChangeDWORDAsIDList may be altered or unavailable.
SHChangeProductKeyAsIDList
SHChangeUpdateImageIDList
SHChangeUpdateImageIDList may be altered or unavailable.
SHCloneSpecialIDList
SHCloneSpecialIDList may be altered or unavailable. Instead, use SHGetSpecialFolderLocation.
SHCLSIDFromString
Takes the string form of a class identifier (CLSID) and creates the corresponding CLSID.
SHCoCreateInstance
SHCoCreateInstance may be altered or unavailable. Instead, use CoCreateInstance.
SHCreateDirectory
Creates a new file system folder.
SHCreateDirectoryEx
Creates a new file system folder, with optional security attributes.
SHCreateFileExtractIcon
SHCreateFileExtractIcon may be altered or unavailable.
SHCreateProcessAsUserW
Creates a new user-mode process and its primary thread to run a specified executable file.
SHCREATEPROCESSINFOW
Contains the information needed by SHCreateProcessAsUserW to create a process.
SHCreatePropSheetExtArray
SHCreatePropSheetExtArray may be altered or unavailable.
SHCreateQueryCancelAutoPlayMoniker
Deprecated. Creates a QueryCancelAutoPlay class moniker, which can then be used to register the IQueryCancelAutoPlay handler in the running object table (ROT).
SHCreateStdEnumFmtEtc
SHCreateStdEnumFmtEtc may be altered or unavailable.
SHCreateStreamOnFile
SHCreateStreamOnFile may be altered or unavailable. Instead, use SHCreateStreamOnFileEx.
SHDestroyPropSheetExtArray
Frees property sheet handlers that are pointed to an array created by SHCreatePropSheetExtArray.
Shell_GetCachedImageIndex
Shell_GetCachedImageIndex may be altered or unavailable.
Shell_GetImageLists
Retrieves system image lists for large and small icons.
Shell_MergeMenus
Shell_MergeMenus may be altered or unavailable.
ShellMessageBox
ShellMessageBox may be altered or unavailable.
SHExtractIconsW
Creates an array of handles to icons extracted from a specified file.
SHFind_InitMenuPopup
SHFind_InitMenuPopup may be altered or unavailable.
SHFindFiles
SHFindFiles may be altered or unavailable.
SHFlushClipboard
Carries out the clipboard shutdown sequence. It also releases the IDataObject pointer placed on the clipboard by the OleSetClipboard function.
SHFlushSFCache
SHFlushSFCache may be altered or unavailable.
SHFormatDateTime
SHFormatDateTime may be altered or unavailable.
SHFormatDrive
SHFormatDrive may be altered or unavailable.
SHFree
Frees the memory allocated by SHAlloc.
SHFreeShared
SHFreeShared may be altered or unavailable.
SHGetAttributesFromDataObject
SHGetAttributesFromDataObject may be altered or unavailable.
SHGetFolderLocation
Deprecated. Retrieves the path of a folder as an ITEMIDLIST structure.
SHGetFolderPath
Deprecated. Gets the path of a folder identified by a CSIDL value.
[!Note]
As of Windows Vista, this function is merely a wrapper for SHGetKnownFolderPath. The CSIDL value is translated to its associated KNOWNFOLDERID and then SHGetKnownFolderPath is called. New applications should use the known folder system rather than the older CSIDL system, which is supported only for backward compatibility.

SHGetFolderPathAndSubDir
Gets the path of a folder and appends a user-provided subfolder path.
SHGetInverseCMAP
Retrieves the inverse color table mapping for the halftone palette.
SHGetMalloc
Retrieves a pointer to the Shell's IMalloc interface.
SHGetRealIDL
SHGetRealIDL may be altered or unavailable.
SHGetSetFolderCustomSettings
SHGetSetFolderCustomSettings may be altered or unavailable.
SHGetSetSettings
SHGetSetSettings may be altered or unavailable.
SHGetShellStyleHInstance
Deprecated. Attempts to get a handle to the Shellstyle.dll file.
SHGetSpecialFolderLocation
SHGetSpecialFolderLocation is not supported and may be altered or unavailable in the future. Instead, use SHGetFolderLocation.
SHGetSpecialFolderPath
SHGetSpecialFolderPath is not supported. Instead, use ShGetFolderPath.
SHGetViewStatePropertyBag
SHGetViewStatePropertyBag may be altered or unavailable.
SHHandleUpdateImage
SHHandleUpdateImage may be altered or unavailable.
SHILCreateFromPath
SHILCreateFromPath may be altered or unavailable.
SHInvokePrinterCommand
Executes a command on a printer object.
[!Note]
This function has been deprecated as of Windows Vista. It is recommended that, in its place, you invoke verbs on printers through IContextMenu or ShellExecute.

SHIsChildOrSelf
Compares whether a window is equal to, a child of, or a descendant of, a second window.
SHLimitInputEdit
Sets limits on valid characters for an edit control.
SHLoadOLE
Deprecated. Provided for backward compatibility.
SHLockShared
SHLockShared may be altered or unavailable.
SHMapIDListToImageListIndexAsync
Retrieves an index in the system image list when given an IShellFolder and an ITEMIDLIST that is contained in it. This function also gets the final icon from the callback if necessary.
SHMapPIDLToSystemImageListIndex
SHMapPIDLToSystemImageListIndex may be altered or unavailable.
SHMessageBoxCheck
SHMessageBoxCheck may be altered or unavailable.
SHObjectProperties
SHObjectProperties may be altered or unavailable.
SHOpenPropSheet
SHOpenPropSheet may be altered or unavailable.
SHOpenRegStream
Deprecated. Opens a registry value and supplies a stream that can be used to read from or write to the value.
[!Note]
This function has been replaced by SHOpenRegStream2. It is recommended that you use SHOpenRegStream2 at all times.

SHRegGetBoolValueFromHKCUHKLM
Evaluates a registry key value and returns a boolean value that reflects whether the value exists and the expected state matches the actual state. This function will first check HKEY_CURRENT_USER for the requested information in the specified subkey. If the information does not exist under the HKEY_CURRENT_USER subtree it will check the HKEY_LOCAL_MACHINE subtree for the same information.
SHRegGetValue
Retrieves a registry value.
SHRegGetValueFromHKCUHKLM
Obtains specified information from the registry. This function will check HKEY_CURRENT_USER for the requested information in the specified subkey. If the information does not exist under the HKEY_CURRENT_USER subtree, the function checks the HKEY_LOCAL_MACHINE subtree for the same information.
SHReplaceFromPropSheetExtArray
Requests each property sheet in a property sheet extension array to replace pages. Each page is allowed up to one replacement.
SHRestricted
SHRestricted may be altered or unavailable.
SHSetFolderPath
Deprecated. Assigns a new path to a system folder identified by its CSIDL.
SHSendMessageBroadcast
Sends a message to all top-level windows in the system.
SHShellFolderView_Message
SHShellFolderView_Message may be altered or unavailable.
SHSimpleIDListFromPath
Deprecated. Returns a pointer to an ITEMIDLIST structure when passed a path.
SHStartNetConnectionDialog
SHStartNetConnectionDialog may be altered or unavailable.
SHStripMneumonic
Removes the mnemonic marker from a string.
SHUnicodeToAnsi
Converts a string from the Unicode code page to the ANSI code page.
SHUnicodeToUnicode
Copies a Unicode string.
SHUnlockShared
SHUnlockShared may be altered or unavailable.
SHValidateUNC
SHValidateUNC may be altered or unavailable.
SignalFileOpen
SignalFileOpen may be altered or unavailable.
StopWatchFlush
StopWatchFlush may be altered or unavailable.
StopWatchMode
StopWatchMode may be altered or unavailable.
UpdateAllDesktopSubscriptions
Deprecated. Enumerates the URLs of all the Desktop components and then tests to see if they are subscribed to. If they are subscribed to, the subscriptions are delivered.
UrlFixupW
UrlFixupW may be altered or unavailable.
WhichPlatform
WhichPlatform may be altered or unavailable.
Win32DeleteFile
Win32DeleteFile may be altered or unavailable.
WOWShellExecute
Performs an operation on a specified file. WOWShellExecute exists only for use with the Microsoft Windows NT Virtual DOS Machine (Ntvdm.exe), which allows disk operating system (DOS) and 16-bit software to run on a Windows system, and should not be used by anyone else. Use ShellExecute instead.
WriteCabinetState
WriteCabinetState may be altered or unavailable.
SHLWAPI Wrapper Functions
The tables in this document list wrapper functions from Shlwapi.dll that provide limited Unicode functionality to Windows 95, Windows 98, and Windows Millennium Edition (Windows Me).
FileOpen
Supports the File Open common dialog box.
FileTypes
Creates the File Types page of the Folder Options property sheet that the user displays by clicking Folder Options on the Windows Explorer Tools menu.
FolderItemsFDF
Represents a Shell folder and all its children.
ImageRecompress
Used to recompress an image.
MenuBand
Supports Shell menu bands.
MenuBandSite
Gets or sets menu band site information.
NewMenu
Creates a New context menu for a Shell item.
ShellFldSetExt
Creates a Folder Options dialog box.
ShellFolderBand
Manages folder bands. The Quick Launch bar is an example of a folder band.
Shell Image Store
Creates an instance of an IShellImageStore object.
IBrowserService
Deprecated. The methods exposed by this interface are analogous to virtual protected methods in normal C++ inheritance. The objects' inheritance hierarchy spans multiple DLLs. The hierarchy is made up of a base class and several derived classes that correspond to controls, including CLSID_WebBrowser and the user's desktop. Objects not in the hierarchy should not implement this interface or use most of its methods.
IBrowserService2
Deprecated. IBrowserService2 extends IBrowserService. The methods exposed by this interface are analogous to virtual protected methods in normal C++ inheritance. The objects' inheritance hierarchy spans multiple DLLs. The hierarchy is made up of a base class and several derived classes that correspond to controls including CLSID_WebBrowser and the user's desktop. Objects not in the hierarchy should not implement this interface or use most of its methods.
IBrowserService3
Deprecated. The methods exposed by this interface are analogous to virtual protected methods in normal C++ inheritance. The inheritance hierarchy of the objects spans multiple DLLs. The hierarchy is made up of a base class and several derived classes that correspond to controls, including CLSID_WebBrowser and the user's desktop. Objects not in the hierarchy should not implement this interface, nor use most of its methods.
IBrowserService4
Deprecated.
ICDBurnExt
ICDBurnExt may be altered or unavailable.
IColumnProvider
Exposes methods that enable the addition of custom columns in the Windows Explorer Details view.
[!Note]
Support for IColumnProvider has been removed as of Windows Vista. The Windows property system is used in its place. See Windows Property System for conceptual materials that explain the use of the new system.

IContextMenuSite
Implemented by the default folder view created using SHCreateShellFolderView. An implementation of IContextMenuSite supports IContextMenu::QueryContextMenu, IContextMenu::InvokeCommand, and TrackPopupMenu and any message forwarding necessary for that function. IContextMenuSite typically updates the status bar as well.
IDefViewFrame
Used only for its IUnknown functionality. It has no methods of its own.
IDefViewID
IDefViewID may be altered or unavailable.
IDefViewSafety
Deprecated. Exposes one method that determines a page's web content zone setting before the page is accessed.
IDeskBand
Used to obtain information about a band object.
[!Important]
You should use thumbnail toolbars in new development in place of desk bands, which are not supported as of Windows 7.

IDeskBand2
Exposes methods to enable and query translucency effects in a deskband object.
[!Important]
You should use thumbnail toolbars in new development in place of desk bands, which are not supported as of Windows 7.

IDeskBandInfo
Exposes a method for getting the default Desk Band bandwidth.
IDeskBar
Exposes methods that enable desk bar manipulation.
IDocViewSite
Used as a site object by the IShellView interface.
IDVGetEnum
Exposes methods that allow the system folder view object to provide another object with an enumeration of items, without the second object running a redundant enumeration itself.
IEnumSyncItems
Exposes methods that provide enumeration of all items in a synchronization schedule.
IEnumSyncSchedules
Provides enumeration of all synchronization schedules.
IEnumUserIdentity
IEnumUserIdentity is not supported and may be altered or unavailable in the future. Instead, use User Accounts with Fast User Switching and Remote Desktop.
IExpDispSupport
Deprecated. Exposes methods that allow the retrieval of properties, translation of keyboard accelerators, and determination of a connection point for certain events.
IExpDispSupportXP
Deprecated. Exposes methods that allow the retrieval of properties, translation of keyboard accelerators, and determination of a connection point for certain events.
IFolderBandPriv
IFolderBandPriv is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions.
IIdentityChangeNotify
Deprecated. Provides notification of modifications to user identities on the system, as well as user requests to switch the current user identity.
IInsertItem
IInsertItem may be altered or unavailable.
IMenuBand
Exposes methods that allow a Component Object Model (COM) object to receive and translate appropriate messages.
IPassportClientServices
The IPassportClientServices interface exposes a method to determine whether a Windows Live ID exists.
IPassportWizard
Exposes a method that invokes the Windows XP Passport Wizard.
IRegTreeItem
Exposes methods that retrieve and set the state of items in a tree-view control that have the Tree-View Control Window Styles flag set.
IShellExecuteHook
[!Note]
Shell execute hooks are deprecated as of Windows Vista.

Exposes a method that extends the behavior of the ShellExecute or ShellExecuteEx functions. It is typically implemented by subsystems that expose the names of objects that the user can specify in the Run dialog box after clicking the Windows Start button.
IShellFolderBand
IShellFolderBand may be altered or unavailable.
IShellFolderView
Exposes methods that manipulate Shell folder views.
IShellIconOverlayManager
IShellIconOverlayManager may be altered or unavailable.
IShellImageData
Exposes methods and properties that display, manipulate, and describe image data.
IShellImageStore
Deprecated. Exposes methods that manipulate the image cache.
IShellService
Deprecated. IShellService Exposes one method that declares ownership when a service component implementing a certain interface is shared among multiple clients, such as Windows Internet Explorer and Windows Explorer.
IShellTaskScheduler
IShellTaskScheduler may be altered or unavailable.
IShellTaskScheduler2
Extends the functionality of IShellTaskScheduler by inheriting all of its methods, providing the ability to place a task in the queue with reference to other tasks of its priority, and adding a method to reset a task's priority.
ISyncSchedule
Exposes methods associated with an individual synchronization schedule.
ISyncScheduleMgr
Exposes methods to set up and control a synchronization scheduler for synchronization management.
IThumbnailCapture
Exposes a method that obtains a thumbnail representation of an HTML wallpaper.
[!Note]
This interface is deprecated as of Windows 7. The feature it supported is no longer present in Windows.

ITravelEntry
Deprecated. Exposes methods to identify, invoke, and update an individual item in the browser's travel history.
ITravelLog
Deprecated. Exposes methods that maintain and manipulate a record of travel in the browser.
IUserIdentity
IUserIdentity is not supported and may be altered or unavailable in the future. Instead, use User Accounts with Fast User Switching and Remote Desktop.
IUserIdentity2
IUserIdentity2 is not supported and may be altered or unavailable in the future. Instead, use User Accounts with Fast User Switching and Remote Desktop.
IUserIdentityManager
IUserIdentityManager is not supported and may be altered or unavailable in the future. Instead, use User Accounts with Fast User Switching and Remote Desktop.
SFVM_DIDDRAGDROP
SFVM_DIDDRAGDROP may be altered or unavailable.
SFVM_GETDETAILSOF
SFVM_GETDETAILSOF may be altered or unavailable.
SFVM_GETPANE
SFVM_GETPANE may be altered or unavailable.
SFVM_GETZONE
Allows the callback object to provide Internet zone information. Used by IShellFolderViewCB::MessageSFVCB.
SFVM_QUERYFSNOTIFY
SFVM_QUERYFSNOTIFY may be altered or unavailable.
SFVM_SETISFV
Notifies the callback object of the container site. This is used only when IObjectWithSite::SetSite is not supported and SHCreateShellFolderViewEx is used. Used by IShellFolderViewCB::MessageSFVCB.
SFVM_THISIDLIST
SFVM_THISIDLIST may be altered or unavailable.