绑定上下文字符串键

IBindCtx::RegisterObjectParam 方法一起使用的一组字符串键,用于指定绑定上下文。

一直 说明
STR_AVOID_DRIVE_RESTRICTION_POLICY
在 Windows XP SP2 中引入。 指定此绑定上下文以允许数据源的客户端替代隐藏的驱动器号策略,并启用对被阻止驱动器上的数据源的视图对象的访问。
IShellFolder::BindToObjectIShellItem::BindToHandler 一起使用。
系统支持管理员控制的策略,这些策略可隐藏指定的驱动器号,以阻止用户通过 Windows 资源管理器访问这些驱动器。 当此策略处于活动状态时,结果是在被策略阻止的驱动器上调用时,使用 IShellFolder::CreateViewObject 方法创建的视图对象和其他处理程序将失败。
STR_BIND_DELEGATE_CREATE_OBJECT
在 Windows Vista 中引入。 指定此绑定上下文,使 IShellFolder::BindToObject 方法使用由pbc 参数指定的对象来创建目标对象;在这种情况下,由 IBindCtx::RegisterObjectParam 调用中的 punk 参数指定的对象必须实现 ICreateObject 接口。
IShellFolder::BindToObjectIShellItem::BindToHandler 一起使用。
STR_BIND_FOLDER_ENUM_MODE
在 Windows 7 中引入。 传递给 IShellFolder::P arseDisplayName ,具有 FOLDER_ENUM_MODE 值来控制已分析项的枚举模式。 FOLDER_ENUM_MODE值通过实现 IObjectWithFolderEnumMode 的对象在绑定上下文中传递。
具有不同枚举模式的项在 canonic 上比较 (SHCIDS_CANONICALONLY) 不同,因为它们枚举不同的项集。
如果某个项不支持枚举模式 (,因为它不是文件夹,或者它不提供枚举模式) 则它是在默认枚举模式下创建的。
STR_BIND_FOLDERS_READ_ONLY
在 Windows 7 中引入。 传递给 IShellFolder::P arseDisplayName 以及 STR_FILE_SYS_BIND_DATA。 这会强制进行简单的分析,同时沿从中获取本地化名称字符串的路径探测 Desktop.ini 文件。 这可以避免探测路径上的文件夹,在表示服务器或共享的文件夹的情况下,这些文件夹可能需要大量时间和资源。 Desktop.ini 文件缓存在某些位置,因此它至少与探测文件夹属性和探测 Desktop.ini(如果该文件夹应变为只读)一样高效。
STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE
在 Windows XP SP2 中引入。 指定此绑定上下文以强制文件夹快捷方式解析指向其目标的链接。
文件夹快捷方式是指向同一命名空间中另一个文件夹项的文件夹项,使用链接 (快捷方式) 保存目标的 IDList。 链接解析为跟踪目标,以防其被移动或重命名。 例如,Windows XP “我的网络位置” 文件夹和 Windows Vista 计算机 文件夹可以包含使用 “添加网络位置” 向导创建的文件夹快捷方式。 为了提高性能, IShellFolder::BindToObject 方法默认不解析指向网络文件夹的链接。
IShellFolder::BindToObjectIShellItem::BindToHandler 一起使用。
STR_DONT_PARSE_RELATIVE
在 Windows XP 中引入。 指定此绑定上下文以防止对桌面文件夹上的 IShellFolder::P arseDisplayName 方法的调用将相对路径视为相对于桌面;在这种情况下,如果指定了此绑定上下文,则分析会失败。
STR_DONT_RESOLVE_LINK
在 Windows Vista 中引入。 指定此绑定上下文以指示 IShellItem 不解析在 IShellItem::BindToHandler 中使用 BHID_LinkTargetItem GUID 时获取的链接目标。
STR_FILE_SYS_BIND_DATA
在 Windows XP 中引入。 指定此绑定上下文以向 IShellFolder::P arseDisplayName 方法提供文件元数据,该方法使用此方法,而不是尝试检索实际文件元数据。 关联的对象必须实现 IFileSystemBindData ,并且可以选择性地实现 IFileSystemBindData2。 默认情况下, IShellFolder::P arseDisplayName 方法验证文件是否存在,并使用文件的实际元数据填充 ID 列表。
STR_FILE_SYS_BIND_DATA_WIN7_FORMAT
在 Windows 8.1 中引入。 指定此绑定上下文以指示应在 STR_FILE_SYS_BIND_DATA 绑定上下文中提供的数据来创建 Windows 7 格式的 ItemID 列表。”
STR_GET_ASYNC_HANDLER
在 Windows 7 中引入。 在与 UI 相同的线程上检索处理程序时,请指定此绑定上下文。 应避免任何内存密集型活动,例如涉及磁盘或网络访问的活动。
STR_GPS_BESTEFFORT
在 Windows Vista 中引入。 在请求 IPropertySetStorageIPropertyStore 处理程序时指定此绑定上下文。 此值与 IShellFolder::BindToObject 一起使用。 有关详细信息,请参阅 GPS_BESTEFFORT 标志。
STR_GPS_DELAYCREATION
在 Windows Vista 中引入。 在请求 IPropertySetStorageIPropertyStore 处理程序时指定此绑定上下文。 此值与 IShellFolder::BindToObject 一起使用。 有关详细信息,请参阅 GPS_DELAYCREATION 标志。
STR_GPS_FASTPROPERTIESONLY
在 Windows Vista 中引入。 在请求 IPropertySetStorageIPropertyStore 处理程序时指定此绑定上下文。 此值与 IShellFolder::BindToObject 一起使用。 有关详细信息,请参阅 GPS_FASTPROPERTIESONLY 标志。
STR_GPS_HANDLERPROPERTIESONLY
在 Windows Vista 中引入。 在请求 IPropertySetStorageIPropertyStore 处理程序时指定此绑定上下文。 此值与 IShellFolder::BindToObject 一起使用。 有关详细信息,请参阅 GPS_HANDLERPROPERTIESONLY 标志。
STR_GPS_NO_OPLOCK
在 Windows 7 中引入。 在请求 IPropertySetStorageIPropertyStore 处理程序时指定此绑定上下文。 此值与 IShellFolder::BindToObject 一起使用。 有关详细信息,请参阅 GPS_NO_OPLOCK 标志。
STR_GPS_OPENSLOWITEM
在 Windows Vista 中引入。 在请求 IPropertySetStorageIPropertyStore 处理程序时指定此绑定上下文。 此值与 IShellFolder::BindToObject 一起使用。 有关详细信息,请参阅 GPS_OPENSLOWITEM 标志。
STR_IFILTER_FORCE_TEXT_FILTER_FALLBACK
仅限 Windows Vista。 指定此绑定上下文会导致调用 IShellFolder::BindToObject 方法,该方法请求文件系统对象的 IFilter 接口返回文本筛选器(如果没有其他筛选器可用)。 此值未定义为 Windows 7。
STR_IFILTER_LOAD_DEFINED_FILTER
仅限 Windows Vista。 指定此绑定上下文会导致调用 IShellFolder::BindToObject 方法,该方法请求文件系统对象的 IFilter 接口在找不到已注册的筛选器时不返回回退筛选器。
STR_INTERNAL_NAVIGATE
在 Windows Vista 中引入。 指定此绑定上下文,以便在调用 IPersistHistory::LoadHistory 方法时从内部导航流加载历史记录。 内部导航是同一视图中的导航。
STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE
在 Windows 7 中引入。 如果客户端希望 Internet Shell 文件夹处理程序为任何有效 URL 生成 IDList(如果无法为该 URL 创建 DAV 类型文件夹),请使用 STR_PARSE_PREFER_FOLDER_BROWSING 指定此绑定上下文。 未验证 URL 是否存在;仅检查其语法,并且具有已注册的协议处理程序。
STR_ITEM_CACHE_CONTEXT
在 Windows 7 中引入。 指定此绑定上下文以指示 IShellFolder::P arseDisplayNameIPersistFolder3::InitializeEx 的实现,以缓存可在 Shell 项实例化中存在的内存密集型帮助程序对象,而不是在每次创建 Shell 项时重新创建这些对象。 关联的对象是另一个绑定上下文对象,最初为空。 这应生成单独的绑定上下文对象,该对象可通过 IBindCtx::GetObjectParamIBindCtx::Register.ObjectParam 进行访问。
调用方必须在调用 SHCreateItemFromParsingName 时通过提供此绑定上下文参数来选择加入此行为。 通过这样做,可以优化连续绑定到多个分析名称的行为。 绑定上下文对象的生存期应跨 Shell 项的多个实例及其各个绑定上下文。
STR_NO_VALIDATE_FILENAME_CHARS
在 Windows Vista 中引入。 指定此绑定上下文以允许文件名中显示无效的文件名字符。 默认情况下,对 IShellFolder::P arseDisplayName 方法的调用会拒绝文件名中非法的字符。 此绑定上下文仅与STR_FILE_SYS_BIND_DATA绑定上下文结合使用才有意义。
STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS
在 Windows Vista 中引入。 指定此绑定上下文以允许调用 Desktop 文件夹中的 IShellFolder::P arseDisplayName 方法以分析 URL。 如果指定了此绑定上下文,它将替代 STR_PARSE_PREFER_WEB_BROWSING
STR_PARSE_AND_CREATE_ITEM
在 Windows 7 中引入。 指定此绑定上下文以指示数据源实现 IShellFolder::P arseDisplayName 以优化 SHCreateItemFromParsingName 的行为。
通常, SHCreateItemFromParsingName 对要分析的名称执行两个绑定操作:一个通过,一个到 IShellFolder::P arseDisplayName ,另一个用于创建 Shell 项。 如果支持 STR_PARSE_AND_CREATE_ITEM 绑定上下文,则通过在 IShellFolder::P arseDisplayName 绑定期间创建 Shell 项并通过 IParseAndCreateItem::SetItem 存储 Shell 项,可以避免第二个绑定。 SHCreateItemFromParsingName 然后使用存储的 Shell 项,而不是创建一个。
此参数适用于所分析的名称的最后一个元素。 例如,在名称“C:\Folder1\File.txt”中,数据应用于 File.txt。
STR_PARSE_DONT_REQUIRE_VALIDATED_URLS
仅限 Windows Vista。 指定在分析 URL 时,此绑定上下文在生成 IDList 之前不应要求 URL 存在。 如果无法为给定 URL 创建 DAV 文件夹,则当客户端需要 Internet Shell 文件夹处理程序为 URL 生成 IDList 时,请指定此绑定上下文和STR_PARSE_PREFER_FOLDER_BROWSING
STR_PARSE_PARTIAL_IDLIST
在 Windows Vista 中引入。 指定此绑定上下文以传递正在重新分析的原始项,当该项存储为 IShellItem 对象时,该对象也实现 IParentAndItem 接口。 在 Windows 7 之前,此值未在头文件中定义。 它可以由调用方定义,也可以作为其字符串值 L“ParseOriginalItem”传递。 从 Windows 7 起,该值在 Shlobj.h 中定义。 请注意,此标头与其他 STR 常量不同。
STR_PARSE_PREFER_FOLDER_BROWSING
在 Windows XP 中引入。 指定此绑定上下文以启用对 Desktop 文件夹上的 IShellFolder::P arseDisplayName 方法的调用,以像分析文件夹一样分析 URL。 使用此绑定上下文绑定到 WebDAV 服务器。
STR_PARSE_PREFER_WEB_BROWSING
在 Windows Vista 中引入。 指定此绑定上下文可阻止调用 Desktop 文件夹窗体分析 URL 上的 IShellFolder::P arseDisplayName 方法。 此绑定上下文可以通过 STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS重写。
STR_PARSE_PROPERTYSTORE
在 Windows Vista 中引入。 指定此绑定上下文以替代 IShellFolder::P arseDisplayName 方法使用的默认属性存储区,并改用指定为 bind 参数的属性存储。 适用于委托文件夹。
STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS
在 Windows XP SP2 中引入。 指定此绑定上下文以允许调用 Desktop 文件夹中的 IShellFolder::P arseDisplayName 方法,以使用“shell:”前缀表示法访问文件。
STR_PARSE_SHOW_NET_DIAGNOSTICS_UI
在 Windows Vista 中引入。 指定此绑定上下文会导致调用 IShellFolder::P arseDisplayName 方法,以在网络路径分析失败时显示网络诊断对话框。
STR_PARSE_SKIP_NET_CACHE
在 Windows Vista 中引入。 指定此绑定上下文会导致调用 IShellFolder::P arseDisplayName 方法,以跳过检查网络共享缓存并直接与网络服务器联系。 缓存有关网络共享的信息以提高性能, 默认情况下,IShellFolder::P arseDisplayName 会检查此缓存。
STR_PARSE_TRANSLATE_ALIASES
在 Windows XP 中引入。 指定此绑定上下文以将分析的属性传递给委托命名空间的 IShellFolder::P arseDisplayName 方法。 命名空间可以使用传递的属性,而不是尝试分析名称本身。
STR_PARSE_WITH_PROPERTIES
仅限 Windows Vista。 一个分析绑定上下文,用于在调用 IShellFolder::P arseDisplayName 时传递一组属性和项的名称。 绑定上下文中的 对象实现 IPropertyStore ,并通过调用 IBindCtx::GetObjectParam 进行检索。
DBFolder 是一个 Shell 数据源,表示搜索结果和基于查询的视图中的项。 DBFolder 通过查询 Windows 搜索系统来检索这些项目。 搜索结果中的项通过协议方案(例如“file:”或“mapi:”)进行标识。 DBFolder 通过委托给为这些协议创建的 Shell 数据源来提供这些项的行为。 有关详细信息 ,请参阅开发协议处理程序加载项
当 DBFolder 将其分析操作委托给支持 Windows 搜索协议的 Shell 数据源时,此绑定上下文提供对该项查询结果中返回的值的访问权限。 这包括:

如果客户端具有定义该项的一组属性,则此绑定上下文还可用于分析 DBFolder 项。 在这种情况下,应将空名称传递给 IShellFolder::P arseDisplayName
在 Windows 7 之前,此值未在头文件中定义。 它可以由调用方定义,也可以作为其字符串值传递: L"ParseWithProperties"。 从 Windows 7 起,该值在 Shlobj.h 中定义。 请注意,这是一个不同于定义其他 STR 常量的标头。
STR_PROPERTYBAG_PARAM
在 Windows 8 中引入。 指定此绑定上下文以指示绑定上下文参数是用于在绑定上下文中传递 VARIANT 值的属性包 (IPropertyBag) 。 有关更多详细信息,请参阅“备注”部分。
STR_SKIP_BINDING_CLSID
在 Windows XP 中引入。 指定此绑定上下文可导致调用 IShellFolder::P arseDisplayNameIShellFolder::BindToObject 方法,以在分析或绑定时忽略特定的 Shell 命名空间扩展。 要忽略的命名空间的 CLSID 由 bind 参数的 IPersist::GetClassID 方法提供。
注意: 此值在 Windows 2000 SP3 中引入,在 Shlobj.h 中定义,直到 Windows XP 移动到 Shobjidl.h。
STR_TRACK_CLSID
未使用。

注解

绑定上下文用于将可选参数传递给具有 IBindCtx* 参数的函数。 这些参数表示为 COM 对象,并可能实现用于为参数数据建模的接口。 某些绑定上下文表示布尔值,其中 TRUE 表示仅实现 IUnknown 的对象,FALSE 表示不存在任何对象。

IShellFolder::P arseDisplayNameIShellFolder::BindToObjectIShellItem::BindToHandler 采用绑定上下文,你可以通过该绑定上下文传递参数。

某些绑定上下文特定于特定的数据源实现或处理程序类型。

定义绑定上下文参数以用于特定函数或方法。

通过 IShellFolder 请求属性存储时,可以通过传入 null IBindCtx 参数来指定GPS_DEFAULT的等效项。 还可以通过传递STGM_READWRITE模式来指定GPS_READWRITE的等效项 |在绑定上下文中STGM_EXCLUSIVE。

STR_PROPERTYBAG_PARAM绑定上下文对象指定的属性包包含可以使用 IPropertyBag::ReadIPropertyBag::Write 方法访问的其他值。

属性名称 类型 说明
STR_ENUM_ITEMS_FLAGS VT_UI4 在 Windows 8 中引入。 指定要在使用 BHID_EnumItems 调用 IShellItem::BindToHandler 时传递给 IShellFolder::EnumObjectsSHCONTF 值。
STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL VT_BOOL 在 Windows 7 中引入 IShellFolder::P arseDisplayName 方法设置此属性以告知调用方返回的 IDList 已绑定到使用 STR_PARSE_WITH_EXPLICIT_PROGID 指定的 ProgID 或使用 STR_PARSE_WITH_EXPLICIT_ASSOCAPP 指定的应用程序。 当 STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL 不存在时,ProgID 或应用程序未绑定到 IDList。
STR_PARSE_WITH_EXPLICIT_ASSOCAPP VT_BSTR 在 Windows 7 中引入。 指定此属性可导致对 IShellFolder::P arseDisplayName 方法的调用返回绑定到应用程序的文件类型关联处理程序的 IDList。
STR_PARSE_WITH_EXPLICIT_PROGID VT_BSTR 在 Windows 7 中引入。 指定此属性可导致调用 IShellFolder::P arseDisplayName 方法返回绑定到所提供的 ProgID 的文件关联处理程序的 IDList。

 

有关使用绑定上下文值的示例,请参阅 使用参数分析示例

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 R2 [仅限桌面应用]
标头
Shobjidl.h
IDL
Shobjidl.idl