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.