Shell Structures

This section describes the Windows Shell Structures.

In this section

Topic Description
AASHELLMENUFILENAME
A variable-size structure that contains information about a menu file name.
AASHELLMENUITEM
Contains information about a menu item.
APPBARDATA
Contains information about a system appbar message.
APPCATEGORYINFO
Provides application category information to Add/Remove Programs in Control Panel. The APPCATEGORYINFOLIST structure is used create a complete list of categories for an application publisher.
APPCATEGORYINFOLIST
Provides a list of supported application categories from an application publisher to Add/Remove Programs in Control Panel.
APPINFODATA
Provides information about a published application to the Add/Remove Programs Control Panel utility.
ASSOCIATIONELEMENT
Defines information used by AssocCreateForClasses to retrieve an IQueryAssociations interface for a given file association.
BANDINFOSFB
Contains information about a folder band. This structure is used with the IShellFolderBand::GetBandInfoSFB and IShellFolderBand::SetBandInfoSFB methods.
BANDSITEINFO
Contains information about a band site. This structure is used with the IBandSite::GetBandSiteInfo and IBandSite::SetBandSiteInfo methods.
BASEBROWSERDATA
Contains protected members of the base class. BASEBROWSERDATA defines the browser state and is used with IBrowserService2::GetBaseBrowserData and IBrowserService2::PutBaseBrowserData.
BORDERWIDTHS
Defines the coordinates of the upper-left and lower-right corners of a border rectangle.
BROWSEINFO
Contains parameters for the SHBrowseForFolder function and receives information about the folder selected by the user.
CATEGORY_INFO
Contains category information. A component category is a group of logically-related Component Object Model (COM) classes that share a common category identifier (CATID).
CIDA
Used with the CFSTR_SHELLIDLIST clipboard format to transfer the pointer to an item identifier list (PIDL) of one or more Shell namespace objects.
CM_COLUMNINFO
Defines column information. Used by members of the IColumnManager interface.
CMINVOKECOMMANDINFO
Contains information needed by IContextMenu::InvokeCommand to invoke a shortcut menu command.
CMINVOKECOMMANDINFOEX
Contains extended information about a shortcut menu command. This structure is an extended version of CMINVOKECOMMANDINFO that allows the use of Unicode values.
COMDLG_FILTERSPEC
Used generically to filter elements.
COMPONENT
Used by Windows 2000 to hold information about a component. This structure replaces the IE4COMPONENT structure.
COMPONENTSOPT
Contains the desktop item options.
COMPPOS
Holds information about a component's position and size.
COMPSTATEINFO
Used by Windows 2000 to hold information about a component's state.
CONFIRM_CONFLICT_ITEM
Defines conflict item structure.
CONFIRM_CONFLICT_RESULT_INFO
Defines conflict result information structure.
CPLINFO
Contains resource information and an application-defined value for a dialog box supported by a Control Panel application. The CPlApplet function of the Control Panel application returns this information to the Control Panel in response to a CPL_INQUIRE message.
CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION
Contains details about a credential.
CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR
Describes a single field in a credential. For example, a string or a user image.
CSFV
Used with the SHCreateShellFolderViewEx function.
DATABLOCK_HEADER
Serves as the header for some of the extra data structures used by IShellLinkDataList.
DEFCONTEXTMENU
Contains context menu information used by SHCreateDefaultContextMenu.
DELEGATEITEMID
Used by delegate folders in place of a standard ITEMIDLIST structure.
DETAILSINFO
Contains detail information for a Shell folder item. Used with the SFVM_GETDETAILSOF notification.
DFMICS
Contains additional arguments used by DFM_INVOKECOMMANDEX.
DLLVERSIONINFO
Receives DLL-specific version information. It is used with the DllGetVersion function.
[!Note]
In place of this structure, you can use the DLLVERSIONINFO2 structure.

DLLVERSIONINFO2
Receives DLL-specific version information. It is used with the DllGetVersion function.
DROPDESCRIPTION
Describes the image and accompanying text for a drop object.
DROPFILES
Defines the CF_HDROP clipboard format. The data that follows is a double null-terminated list of file names.
EXP_DARWIN_LINK
Holds an extra data block used by IShellLinkDataList. It holds the link's Windows Installer ID.
EXP_PROPERTYSTORAGE
Stores information about the Shell link state. This structure is used for extra data sections that are tagged with EXP_PROPERTYSTORAGE_SIG.
EXP_SPECIAL_FOLDER
Holds an extra data block used by IShellLinkDataList. It holds special folder information.
EXP_SZ_LINK
Holds an extra data block used by IShellLinkDataList. It holds expandable environment strings for the icon or target.
EXT_BUTTON
Contains information about a button that a File Manager extension DLL is adding to the toolbar of File Manager.
EXTRASEARCH
Used by an IEnumExtraSearch enumerator object to return information on the search objects supported by a Shell Folder object.
FILE_ATTRIBUTES_ARRAY
Contains the clipboard format definition for CFSTR_FILE_ATTRIBUTES_ARRAY.
FILEDESCRIPTOR
Describes the properties of a file that is being copied by means of the clipboard during a Microsoft ActiveX drag-and-drop operation.
FILEGROUPDESCRIPTOR
Defines the CF_FILEGROUPDESCRIPTOR clipboard format.
FMS_GETDRIVEINFO
Contains information about the drive selected in the active File Manager window (the directory window or the Search Results window).
FMS_GETFILESEL
Contains information about a selected file in the active File Manager window (the directory window or the Search Results window).
FMS_HELPSTRING
Contains information that File Manager uses to add a Help string for a menu or toolbar command item.
FMS_LOAD
Contains information that File Manager uses to add a custom menu provided by a File Manager extension DLL. The structure also provides a delta value that the extension DLL can use to manipulate the custom menu after File Manager has loaded the menu.
FMS_TOOLBARLOAD
Contains information about custom buttons to be added to the File Manager toolbar. The buttons are provided by a File Manager extension DLL.
FOLDERSETTINGS
Contains folder view information.
FVSHOWINFO
Contains information that the file viewer uses to display a file.
HELPINFO
Contains information about an item for which context-sensitive Help has been requested.
HELPWININFO
Contains the size and position of either a primary or secondary Help window. An application can set this information by calling the WinHelp function with the HELP_SETWINPOS value.
IE4COMPONENT
Used by Microsoft Internet Explorer 4.0 and Microsoft Internet Explorer 4.01 to hold information about a component. With Windows 2000, it is replaced by the COMPONENT structure.
ITEMIDLIST
Contains a list of item identifiers.
ITEMSPACING
Stores the dimensions of the two possible sizes of icon spacing that are available for display: small and large. Used by IShellFolderView::GetItemSpacing.
KNOWNFOLDER_DEFINITION
Defines the specifics of a known folder.
LOGFONT
Defines the attributes of a font.
MRUINFO
Contains information that defines a new most recently used (MRU) list. Used by CreateMRUListW.
MULTIKEYHELP
Specifies a keyword to search for and the keyword table to be searched by Windows Help.
NC_ADDRESS
Contains information that describes a network address.
NET_ADDRESS_INFO
Describes a network address.
NEWCPLINFO
Contains resource information and an application-defined value for a dialog box supported by a Control Panel application.
NOTIFYICONDATA
Contains information that the system needs to display notifications in the notification area. Used by Shell_NotifyIcon.
NOTIFYICONIDENTIFIER
Contains information used by Shell_NotifyIconGetRect to identify the icon for which to retrieve the bounding rectangle.
NRESARRAY
Defines the CF_NETRESOURCE clipboard format.
NSTCCUSTOMDRAW
Custom draw structure used by INameSpaceTreeControlCustomDraw methods.
NT_CONSOLE_PROPS
Holds an extra data block used by IShellLinkDataList. It holds console properties.
NT_FE_CONSOLE_PROPS
Holds an extra data block used by IShellLinkDataList. It holds the console's code page.
OPEN_PRINTER_PROPS_INFO
Identifies a particular property sheet in a printer's property pages and whether that property sheet should be modal. Optionally used with the SHInvokePrinterCommand function.
OPENASINFO
Stores information for the SHOpenWithDialog function.
OVERLAPPED
Contains information used in asynchronous (overlapped) input/output (I/O).
PARSEDURL
Used by the ParseURL function to return the parsed URL.
PERSIST_FOLDER_TARGET_INFO
Specifies a folder shortcut's target folder and its attributes. This structure is used by IPersistFolder3::GetFolderTargetInfo and IPersistFolder3::InitializeEx.
PREVIEWHANDLERFRAMEINFO
Accelerator table structure. Used by IPreviewHandlerFrame::GetWindowContext.
PROFILEINFO
Contains information used when loading or unloading a user profile.
PUBAPPINFO
Provides information about a published application from an application publisher to Add/Remove Programs in Control Panel.
QCMINFO
Contains information for merging menu items into Windows Explorer menus.
QITAB
Used by the QISearch function to describe a single interface.
SERIALIZEDPROPERTYVALUE
A range of memory of arbitrary type that represents a serialized PROPVARIANT structure. Programs should not inspect the contents of a SERIALIZEDPROPERTYVALUE; instead, they should manipulate it with the StgSerializePropVariant and StgDeserializePropVariant functions.
SFV_CREATE
This structure is used with the SHCreateShellFolderView function.
SFV_SETITEMPOS
Stores position information for an item. Used with message SFVM_SETITEMPOS.
SFVM_HELPTOPIC_DATA
Contains the name of an HTML Help file and a topic in that file. Used with the SFVM_GETHELPTOPIC notification. This structure requires Unicode strings.
SFVM_PROPPAGE_DATA
Contains the details of a page to be added to an object's Properties sheet.
SHARDAPPIDINFO
Contains data used by SHAddToRecentDocs to identify both an item—in this case as an IShellItem—and the process that it is associated with.
SHARDAPPIDINFOIDLIST
Contains data used by SHAddToRecentDocs to identify both an item—in this case by an absolute PIDL—and the process that it is associated with.
SHARDAPPIDINFOLINK
Contains data used by SHAddToRecentDocs to identify both an item, in this case through an IShellLink, and the process that it is associated with.
SHChangeNotifyEntry
Contains and receives information for change notifications. This structure is used with the SHChangeNotifyRegister function and the SFVM_QUERYFSNOTIFY notification.
SHCOLUMNDATA
Contains information that identifies a particular file. It is used by IColumnProvider::GetItemData when requesting data for a particular file.
SHCOLUMNID
Specifies the FMTID/PID identifier of a column that will be displayed by the Windows Explorer Details view.
[!Note]
As of Windows Vista, SHCOLUMNID is considered a legacy form and should not be used. In its place, use the PROPERTYKEY structure.

SHCOLUMNINFO
Contains information about the properties of a column. It is used by IColumnProvider::GetColumnInfo.
SHCOLUMNINIT
Passes initialization information to IColumnProvider::Initialize.
SHDESCRIPTIONID
Receives item data in response to a call to SHGetDataFromIDList.
SHDRAGIMAGE
Contains the information needed to create a drag image.
SHELL_ITEM_RESOURCE
Defines Shell item resource.
SHELLDETAILS
Reports detailed information on an item in a Shell folder.
SHELLEXECUTEINFO
Contains information used by ShellExecuteEx.
SHELLFLAGSTATE
Contains a set of flags that indicate the current Shell settings. This structure is used with the SHGetSettings function.
SHELLSTATE
Contains settings for the Shell's state. This structure is used with the SHGetSetSettings function.
SHFILEINFO
Contains information about a file object.
SHFILEOPSTRUCT
Contains information that the SHFileOperation function uses to perform file operations.
[!Note]
As of Windows Vista, the use of the IFileOperation interface is recommended over this function.

SHFOLDERCUSTOMSETTINGS
Holds custom folder settings. This structure is used with the SHGetSetFolderCustomSettings function.
SHITEMID
Defines an item identifier.
SHNAMEMAPPING
Contains the old and new path names for each file that was moved, copied, or renamed by the SHFileOperation function.
SHQUERYRBINFO
Contains the size and item count information retrieved by the SHQueryRecycleBin function.
SHSTOCKICONINFO
Receives information used to retrieve a stock Shell icon. This structure is used in a call SHGetStockIconInfo.
SLOWAPPINFO
Provides specialized application information to Add/Remove Programs in Control Panel. This structure is not applicable to published applications.
SMCSHCHANGENOTIFYSTRUCT
Contains information about change notification. It is used by IShellMenuCallback::CallbackSM.
SMDATA
Contains information from a menu band.
SMINFO
Contains information about an item from a menu band.
SOFTDISTINFO
Contains information about a software update.
SORTCOLUMN
Stores information about how to sort a column that is displayed in the folder view.
STRRET
Contains strings returned from the IShellFolder interface methods.
SV2CVW2_PARAMS
Holds the parameters for the IShellView2::CreateViewWindow2 method.
SYNC_HANDLER_ITEM_INFO
Defines a handler for a scheduled synchronization. Used with ISyncSchedule::AddItem.
SYNCMGR_CONFLICT_ID_INFO
Describes conflict ID information structure.
SYNCMGRHANDLERINFO
Provides information about the handler for use in the ISyncMgrSynchronize::GetHandlerInfo method.
SYNCMGRITEM
Provides information about items being enumerated by the ISyncMgrEnumItems interface.
SYNCMGRLOGERRORINFO
Provides error information for use in the ISyncMgrSynchronizeCallback::LogError method.
SYNCMGRPROGRESSITEM
Provides status information while a synchronization is in progress. This structure is used with the ISyncMgrSynchronizeCallback::Progress method and corresponds to a single synchronization item.
TBINFO
Used with the SFVM_GETBUTTONINFO notification to specify the number of buttons to add to the toolbar, as well as how they're added.
THUMBBUTTON
Used by methods of the ITaskbarList3 interface to define buttons used in a toolbar embedded in a window's thumbnail representation.
WALLPAPEROPT
Contains the wallpaper display options. Used with members of the IActiveDesktop interface.
WINDOWDATA
Stores window data.
WTS_CONTEXTFLAGS
Specifies the context of a thumbnail extraction. Used by IThumbnailSettings::SetContext.
WTS_FLAGS
Values used by IThumbnailCache::GetThumbnail to specify options for the extraction and display of the thumbnail image.
WTS_THUMBNAILID
Contains a unique identifier for a thumbnail in the system thumbnail cache.