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 中引入:如果项是文件夹,则获取 ITransferSource 或 ITransferDestination 对象。
BHID_PropertyStore
在 Windows Vista 中引入:限制使用 IPropertyStore 或 IPropertyStoreFactory。
BHID_ThumbnailHandler
在 Windows Vista 中引入:限制使用 IExtractImage 或 IThumbnailProvider。
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 或更高版本) |