Shell Constants, Enumerations, and Flags

This section describes the Windows Shell constants, enumerations, and flags.

In this section

Topic Description
_SVGIO
Used with the IFolderView::Items, IFolderView::ItemCount, and IShellView::GetItemObject methods to restrict or control the items in their collections.
_SVSIF
Indicates flags used by IFolderView, IFolderView2, IShellView and IShellView2 to specify a type of selection to apply.
APPACTIONFLAGS
Specifies application management actions supported by an application publisher. These flags are bitmasks passed to IShellApp::GetPossibleActions.
APPINFODATAFLAGS
Specifies application information to return from IShellApp::GetAppInfo. These flags are bitmasks used in the dwMask member of the APPINFODATA structure.
APPLICATION_VIEW_ORIENTATION
Defines the set of display orientation modes for a window (app view). Used by IApplicationDesignModeSettings2::GetApplicationViewOrientation and IApplicationDesignModeSettings2::SetApplicationViewOrientation.
APPLICATION_VIEW_SIZE_PREFERENCE
Defines the set of possible general window (app view) size preferences. Used by ILaunchSourceViewSizePreference::GetSourceViewSizePreference and ILaunchTargetViewSizePreference::GetTargetViewSizePreference.
APPLICATION_VIEW_STATE
Indicates the current view state of a Windows Store app. Used by IApplicationDesignModeSettings::SetApplicationViewState and IApplicationDesignModeSettings::IsApplicationViewStateSupported.
ASSOCDATA
Used by IQueryAssociations::GetData to define the type of data that is to be returned.
ASSOCF
Provides information to the IQueryAssociations interface methods.
ASSOCIATIONLEVEL
Specifies the source of the default association for a file name extension. Used by methods of the IApplicationAssociationRegistration interface.
ASSOCIATIONTYPE
Specifies the type of association for an application. Used by methods of the IApplicationAssociationRegistration interface.
ASSOCKEY
Specifies the type of key to be returned by IQueryAssociations::GetKey.
ASSOCSTR
Used by IQueryAssociations::GetString to define the type of string that is to be returned.
ATTACHMENT_ACTION
Provides a set of flags to be used with IAttachmentExecute::Prompt to indicate the action to be performed upon user confirmation.
ATTACHMENT_PROMPT
Provides a set of flags to be used with IAttachmentExecute::Prompt to indicate the type of prompt UI to display.
AUTOCOMPLETELISTOPTIONS
Specifies which objects are enumerated for autocompletion lists.
AUTOCOMPLETEOPTIONS
Specifies values used by IAutoComplete2::GetOptions and IAutoComplete2::SetOptions for options surrounding autocomplete.
Bind Context String Keys
A set of string keys that are used with the IBindCtx::RegisterObjectParam method to specify a bind context.
BNSTATE
Deprecated. Used by IBrowserService::SetNavigateState and IBrowserService::GetNavigateState to specify navigation states.
BROWSERFRAMEOPTIONS
Used with method IBrowserFrameOptions::GetFrameOptions.
CATEGORYINFO_FLAGS
Provides a set of flags for use with the CATEGORY_INFO structure.
CATSORT_FLAGS
Specifies methods for sorting category data.
CDCONTROLSTATE
Specifies the values that indicate whether a control is visible and enabled. Used by members of the IFileDialogCustomize interface.
CM_ENUM_FLAGS
Used by members of the IColumnManager interface to specify which set of columns are being requested, either all or only those currently visible.
CM_MASK
Indicates which values in the CM_COLUMNINFO structure should be set during calls to IColumnManager::SetColumnInfo.
CM_SET_WIDTH_VALUE
Specifies width values in pixels and includes special support for default and autosize. Used by members of the IColumnManager interface through the CM_COLUMNINFO structure.
CM_STATE
Specifies column state values. Used by members of the IColumnManager interface through the CM_COLUMNINFO structure.
CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS
Indicates the type of credential that a credential provider should return to associate with the "Other user" tile. Used by ICredentialProviderUserArray_GetAccountOptions.
CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS
Provides customization options for a single field in a logon or credential UI.
CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE
Describes the state of a field and how it a user can interact with it. Fields can be displayed by a credential provider in a variety of different interactive states.
CREDENTIAL_PROVIDER_FIELD_STATE
Specifies the state of a single field in the Credential UI.
CREDENTIAL_PROVIDER_FIELD_TYPE
Specifies a type of credential field. Used by CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR.
CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE
Describes the response when a credential provider attempts to serialize credentials.
CREDENTIAL_PROVIDER_STATUS_ICON
Indicates which status icon should be displayed.
CREDENTIAL_PROVIDER_USAGE_SCENARIO
Declares the scenarios in which a credential provider is supported. A credential provider usage scenario (CPUS) enables the credential provider to provide distinct enumeration behavior and UI field setup across scenarios.
CSIDL
**Note: **As of Windows Vista, these values have been replaced by KNOWNFOLDERID values. See that topic for a list of the new constants and their corresponding CSIDL values. For convenience, corresponding KNOWNFOLDERID values are also noted here for each CSIDL value.
The CSIDL system is supported under Windows Vista for compatibility reasons. However, new development should use KNOWNFOLDERID values rather than CSIDL values.
CSIDL (constant special item ID list) values provide a unique system-independent way to identify special folders used frequently by applications, but which may not have the same name or location on any given system. For example, the system folder may be "C:\Windows" on one system and "C:\Winnt" on another. These constants are defined in Shlobj.h.
CTF Flags
Flags that control the calling function's behavior. Used by SHCreateThread and SHCreateThreadWithHandle. In those functions, these values are defined as being of type SHCT_FLAGS.
DATAOBJ_GET_ITEM_FLAGS
Values used by the SHGetItemFromDataObject function to specify options concerning the processing of the source object.
DBID Command Flags
These command IDs can be sent to the band object's container with IOleCommandTarget::Exec.
DEF_SHARE_ID
Values that specify the folder being acted on by methods of the ISharingConfigurationManager interface.
DEFAULTSAVEFOLDERTYPE
Specifies the default save location.
DEFAULT_FOLDER_MENU_RESTRICTIONS
DESKTOP_WALLPAPER_POSITION
Specifies how the desktop wallpaper should be displayed.
DEVICE_SCALE_FACTOR
Indicates a spoofed device scale factor, as a percent. Used by IApplicationDesignModeSettings::SetApplicationViewState and IApplicationDesignModeSettings::IsApplicationViewStateSupported
DISPLAY_DEVICE_TYPE
Indicates whether the device is a primary or immersive type of display.
DROPIMAGETYPE
Values used with the DROPDESCRIPTION structure to specify the drop image.
EXPCMDSTATE
EXPCMDSTATE values represent the command state of a Shell item.
EXPLORER_BROWSER_FILL_FLAGS
These flags are used with IExplorerBrowser::FillFromObject.
EXPLORER_BROWSER_OPTIONS
These flags are used with IExplorerBrowser::GetOptions and IExplorerBrowser::SetOptions.
EXPLORERPANESTATE
Indicate flags used by IExplorerPaneVisibility::GetPaneState to get the current state of the given Windows Explorer pane.
FDAP
Specifies list placement.
FDE_OVERWRITE_RESPONSE
Specifies the values used by the IFileDialogEvents::OnOverwrite method to indicate an application's response to an overwrite request during a save operation using the common file dialog.
FDE_SHAREVIOLATION_RESPONSE
Specifies the values used by the IFileDialogEvents::OnShareViolation method to indicate an application's response to a sharing violation that occurs when a file is opened or saved.
FFFP_MODE
Describes match criteria. Used by methods of the IKnownFolderManager interface.
FILE_USAGE_TYPE
Constants used by IFileIsInUse::GetUsage to indicate how a file in use is being used.
FILEOPENDIALOGOPTIONS
Defines the set of options available to an Open or Save dialog.
FILETYPEATTRIBUTEFLAGS
Indicates FILETYPEATTRIBUTEFLAGS constants that are used in the EditFlags value of a file association PROGID registry key.
FOLDER_ENUM_MODE
Used by IObjectWithFolderEnumMode::GetMode and IObjectWithFolderEnumMode::SetMode methods to get and set the display modes for the folders.
FOLDERFLAGS
A set of flags that specify folder view options. The flags are independent of each other and can be used in any combination.
FOLDERLOGICALVIEWMODE
Used by IFolderViewSettings::GetViewMode and ISearchFolderItemFactory::SetFolderLogicalViewMode to describe the view mode.
FOLDERTYPEID
The FOLDERTYPEID values represent a view template applied to a folder, usually based on its intended use and contents.
FOLDERVIEWMODE
Specifies the folder view type.
FOLDERVIEWOPTIONS
Used by methods of the IFolderViewOptions interface to activate Windows Vista options not supported by default in Windows 7 and later systems as well as deactivating new Windows 7 options.
IActiveDesktop Flags
This section describes the flags used by IActiveDesktop interface methods.
IESHORTCUTFLAGS
Specifies how a shortcut should be handled by the browser.
KF_CATEGORY
Value that represent a category by which a folder registered with the Known Folder system can be classified.
KF_DEFINITION_FLAGS
Flags that specify certain known folder behaviors. Used with the KNOWNFOLDER_DEFINITION structure.
KF_REDIRECT_FLAGS
Flags used by IKnownFolderManager::Redirect to specify details of a known folder redirection such as permissions and ownership for the redirected folder.
KF_REDIRECTION_CAPABILITIES
Flags that specify the current redirection capabilities of a known folder. Used by IKnownFolder::GetRedirectionCapabilities.
KNOWN_FOLDER_FLAG
Specify special retrieval options for known folders. These values supersede CSIDL values, which have parallel meanings.
KNOWNFOLDERID
The KNOWNFOLDERID constants represent GUIDs that identify standard folders registered with the system as Known Folders. These folders are installed with Windows Vista and later operating systems, and a computer will have only folders appropriate to it installed. For descriptions of these folders, see CSIDL.
LIBRARYFOLDERFILTER
Defines options for filtering folder items.
LIBRARYMANAGEDIALOGOPTIONS
Used by SHShowManageLibraryUI to define options for handling a name collision when saving a library.
LIBRARYOPTIONFLAGS
Specifies the library options.
LIBRARYSAVEFLAGS
Specifies the options for handling a name collision when saving a library.
MIMEASSOCIATIONDIALOG_IN_FLAGS
Used with the MIMEAssociationDialog function to determine how it executes.
MONITOR_APP_VISIBILITY
Specifies whether a display is showing desktop windows instead of Windows Store apps.
MP_POPUPFLAGS constants
Represent options available when displaying a pop-up menu.
NET_STRING
Represent network address types. Use one or more (as a bitwise combination) of the following constants to create a network address mask to use with the macro NetAddr_SetAllowType.
NSTCFOLDERCAPABILITIES
Specifies the state of a tree item. These values are used by methods of the INameSpaceTreeControlFolderCapabilities interface.
NSTCITEMSTATE
Specifies the state of a tree item. These values are used by methods of the INameSpaceTreeControl interface.
NSTCSTYLE
Describes the characteristics of a given namespace tree control.
NSTCSTYLE2
Used by methods of the INameSpaceTreeControl2 to specify extended display styles in a Shell namespace treeview.
NWMF
Flags used by INewWindowManager::EvaluateNewWindow. These values are factors in the decision of whether to display a pop-up window.
PACKAGE_EXECUTION_STATE
PERCEIVED
Specifies a file's perceived type. This set of constants is used in the AssocGetPerceivedType function.
PUBAPPINFOFLAGS
Specifies which members in the PUBAPPINFO structure are valid. These flags are bitmasks set in the dwMask member and passed to IPublishedApp::GetPublishedAppInfo.
QUERY_USER_NOTIFICATION_STATE
Specifies the state of the machine for the current user in relation to the propriety of sending a notification. Used by SHQueryUserNotificationState.
Registry Data Types
These data types can be used to specify the type of a registry value.
REGSAM
A data type used for specifying the security access attributes in the registry.
RESTRICTIONS
These flags are used with the SHRestricted function. SHRestricted is used to determine whether a specified administrator policy is in effect. In many cases, applications need to modify certain behaviors in order to comply with the policies enacted by system administrators.
SCALE_CHANGE_FLAGS
Flags that are used to indicate the scaling change that occured.
SCNRT_STATUS
Indicates whether to enable or disable Async Register and Deregister for SHChangeNotifyRegisterThread.
SFBS_FLAGS
Specifies how the StrFormatByteSizeEx function should handle rounding of undisplayed digits.
SFGAO
Attributes that can be retrieved on an item (file or folder) or set of items.
SHARD
Indicates the interpretation of the data passed by SHAddToRecentDocs in its pv parameter to identify the item whose usage statistics are being tracked.
SHARE_ROLE
Specifies the access permissions assigned to the Users or Public folder. Used in CreateShare and GetSharePermissions.
SHCOLSTATE
Describes how a property should be treated. These values are defined in Shtypes.h.
SHCONTF
Determines the types of items included in an enumeration. These values are used with the IShellFolder::EnumObjects method.
SHELL_LINK_DATA_FLAGS
Specifies option settings. Used with IShellLinkDataList::GetFlags and IShellLinkDataList::SetFlags.
SHELL_UI_COMPONENT
Identifies the type of UI component that is needed in the shell.
ShellFolderViewOptions
Specifies the view options returned by the ViewOptions property.
ShellSpecialFolderConstants
Specifies unique, system-independent values that identify special folders. These folders are frequently used by applications but which may not have the same name or location on any given system. For example, the system folder can be "C:\Windows" on one system and "C:\Winnt" on another.
ShellWindowFindWindowOptions
Specifies options for finding window in the Shell windows collection.
ShellWindowTypeConstants
Specifies types of Shell windows.
SHGDNF
Defines the values used with the IShellFolder::GetDisplayNameOf and IShellFolder::SetNameOf methods to specify the type of file or folder names used by those methods.
Note:
Prior to Windows 7, these values were packaged as the SHGNO enumeration.
SHGLOBALCOUNTER
Identifiers for various global counters, or shared variables. Each global counter can be incremented or decremented using SHGlobalCounterIncrement and SHGlobalCounterDecrement.
SHREGDEL_FLAGS
Provides a set of values that indicate from which base key an item will be deleted.
SHREGENUM_FLAGS
Provides a set of values that indicate the base key that will be used for an enumeration.
SHSTOCKICONID
Used by SHGetStockIconInfo to identify which stock system icon to retrieve.
SICHINTF
Used to determine how to compare two Shell items. IShellItem::Compare uses this enumerated type.
SIGDN
Requests the form of an item's display name to retrieve through IShellItem::GetDisplayName and SHGetNameFromIDList.
SPACTION
Describes an action being performed that requires progress to be shown to the user using an IActionProgress interface.
SPBEGINF
Used by IActionProgress::Begin, these constants specify certain UI operations that are to be enabled or disabled.
SPTEXT
Specifies the type of descriptive text being provided to an IActionProgress interface.
SRRF
Flags that restrict the data to be set or returned.
SSF Constants
Used by the SHGetSetSettings function to specify which members of its SHELLSTATE structure should be set or retrived.
STPFLAG
Used by the ITaskbarList4::SetTabProperties method to specify tab properties.
SVUIA_STATUS
Used with the IBrowserService2::_UIActivateView method to set the state of a browser view.
SYNCMGR_CANCEL_REQUEST
Describes a request by the user to cancel a synchronization.
SYNCMGR_CONFLICT_ITEM_TYPE
Describes conflict item type.
SYNCMGR_CONTROL_FLAGS
Specifies how an operation requested on certain methods of ISyncMgrControl should be performed.
SYNCMGR_EVENT_FLAGS
Specifies flags for a synchronization event.
SYNCMGR_EVENT_LEVEL
Specifies the type of event being reported to Sync Center.
SYNCMGR_HANDLER_CAPABILITIES
Specifies the capabilities of a handler regarding the actions that can be performed against it.
SYNCMGR_HANDLER_POLICIES
Enumerates policies specified by a sync handler that deviate from the default policy.
SYNCMGR_HANDLER_TYPE
Specifies the type of a handler. Used by ISyncMgrHandlerInfo::GetType.
SYNCMGR_ITEM_CAPABILITIES
Specifies the actions that can be performed against an item.
SYNCMGR_ITEM_POLICIES
Specifies an item's policies to control how they can be enabled or disabled by group policy.
SYNCMGR_PRESENTER_CHOICE
Describes what choice a user makes about a sync manager conflict resolution. Used by ISyncMgrConflictPresenter.
SYNCMGR_PRESENTER_NEXT_STEP
Describes the next step that is to occur in sync manager conflict resolution. Used by ISyncMgrConflictPresenter.
SYNCMGR_PROGRESS_STATUS
Specifies the current progress status of a synchronization process. Used by ISyncMgrSyncCallback::ReportProgress.
SYNCMGR_RESOLUTION_ABILITIES
Indicates abilities and the conflict resolution activity to follow. Used with ISyncMgrResolutionHandler::QueryAbilities.
SYNCMGR_RESOLUTION_FEEDBACK
Describes Sync Manager resolution feedback. Used by ISyncMgrResolutionHandler.
SYNCMGR_SYNC_CONTROL_FLAGS
Indicates flags used by ISyncMgrControl::StartHandlerSync and ISyncMgrControl::StartItemSync.
SYNCMGRFLAG
The SYNCMGRFLAG enumeration values are used in the ISyncMgrSynchronize::Initialize method to indicate how the synchronization event was initiated.
SYNCMGRHANDLERFLAGS
Used in the SYNCMGRHANDLERINFO structure as flags that apply to the current handler.
SYNCMGRINVOKEFLAGS
The SYNCMGRINVOKEFLAGS enumeration value specifies how the Sync Manager is to be invoked in the ISyncMgrSynchronizeInvoke::UpdateItems method.
SYNCMGRITEMFLAGS
Specifies information for the current item in the SYNCMGRITEM structure.
SYNCMGRLOGLEVEL
The SYNCMGRLOGLEVEL enumeration values specify an error level for use in the ISyncMgrSynchronizeCallback::LogError method.
SYNCMGRREGISTERFLAGS
The SYNCMGRREGISTERFLAGS enumeration values are used in methods of the ISyncMgrRegister interface to identify events for which the handler is registered to be notified.
SYNCMGRSTATUS
Used in the ISyncMgrSynchronize::SetItemStatus method to specify the updated status for the item.
THUMBBUTTONFLAGS
Used by THUMBBUTTON to control specific states and behaviors of the button.
THUMBBUTTONMASK
Used by the THUMBBUTTON structure to specify which members of that structure contain valid data.
ThumbnailStreamCacheOptions
Defines the cache options used by the IThumbnailStreamCache interface.
TRANSFER_SOURCE_FLAGS
Used by methods of the ITransferSource and ITransferDestination interfaces to control their file operations.
TRANSLATEURL_IN_FLAGS
The TRANSLATEURL_IN_FLAGS enumerated values are used with the TranslateURL function to determine how it will execute.
UNDOCK_REASON
Values that indicate the reason that a docked accessibility app window has been undocked. Used by IAccessibilityDockingServiceCallback::Undocked.
URL_SCHEME
Used to specify URL schemes.
URLASSOCIATIONDIALOG_IN_FLAGS
The URLASSOCIATIONDIALOG_IN_FLAGS enumerated values are used with URLAssociationDialog to determine how it executes.
VPCOLORFLAGS
Specifies the use of a color. Used by IVisualProperties methods.
VPWATERMARKFLAGS
Specifies watermark flags. Used by IVisualProperties::SetWatermark.