IShellItem::BindToHandler 方法 (shobjidl_core.h)

绑定到由 BHID) (处理程序 ID 值指定的项的处理程序。

语法

HRESULT BindToHandler(
  IBindCtx *pbc,
  REFGUID  bhid,
  REFIID   riid,
  void     **ppv
);

参数

pbc

类型: IBindCtx*

指向绑定上下文对象上的 IBindCtx 接口的指针。 用于将可选参数传递给处理程序。 绑定上下文的内容特定于处理程序。 例如,绑定到 BHID_Stream时,绑定上下文中的 STGM 标志指示所需的访问模式 (读取或读/写) 。

bhid

类型: REFGUID

对 GUID 的引用,该 GUID 指定要创建哪个处理程序。 Shlguid.h 中定义的以下值之一:

BHID_SFObject

将用法限制为 BindToObject

BHID_SFUIObject

限制使用 GetUIObjectOf

BHID_SFViewObject

将用法限制为 CreateViewObject

BHID_Storage

尝试检索存储 RIID,但在失败时默认为 Shell 实现。

BHID_Stream

将使用情况限制为 IStream

BHID_LinkTargetItem

CLSID_ShellItem使用此项的目标初始化, (只能SFGAO_LINK) 。 有关SFGAO_LINK的说明,请参阅 SFGAO

BHID_StorageEnum

如果项是文件夹,则获取用于枚举存储内容的 IEnumShellItems 对象。

BHID_Transfer

在 Windows Vista 中引入:如果项是文件夹,则获取 ITransferSourceITransferDestination 对象。

BHID_PropertyStore

在 Windows Vista 中引入:限制使用 IPropertyStoreIPropertyStoreFactory

BHID_ThumbnailHandler

在 Windows Vista 中引入:限制使用 IExtractImageIThumbnailProvider

BHID_EnumItems

在 Windows Vista 中引入:如果项是文件夹,则获取一个枚举文件夹中所有项目的 IEnumShellItems 对象。 这包括文件夹、非文件夹和隐藏项。

BHID_DataObject

在 Windows Vista 中引入:获取用于项或项数组的 IDataObject 对象。

BHID_AssociationArray

在 Windows Vista 中引入:获取用于项或项数组的 IQueryAssociations 对象。

BHID_Filter

在 Windows Vista 中引入:限制使用 IFilter

BHID_EnumAssocHandlers

在 Windows 7 中引入:获取用于枚举给定项的建议关联处理程序的 IEnumAssocHandlers 对象。

BHID_RandomAccessStream

在 Windows 8 中引入:获取项的 IRandomAccessStream 对象。

BHID_FilePlaceholder

在 Windows 8.1 中引入:获取用于提供占位符文件功能的对象。

riid

类型: REFIID

要检索的对象类型的 IID。

ppv

类型: void**

此方法返回时,包含由 rbhid 指定的处理程序返回的 riid 类型的指针。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

要求

要求
最低受支持的客户端 具有 SP1 的 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (版本 5.00 或更高版本)

另请参阅

IShellFolder

IShellItem