Метод IShellItem::BindToHandler (shobjidl_core.h)
Привязывается к обработчику для элемента в соответствии со значением идентификатора обработчика (BHID).
Синтаксис
HRESULT BindToHandler(
IBindCtx *pbc,
REFGUID bhid,
REFIID riid,
void **ppv
);
Параметры
pbc
Тип: IBindCtx*
Указатель на интерфейс IBindCtx в объекте контекста привязки. Используется для передачи необязательных параметров обработчику. Содержимое контекста привязки зависит от обработчика. Например, при привязке к BHID_Stream флаги STGM в контексте привязки указывают требуемый режим доступа (чтение или чтение и запись).
bhid
Тип: REFGUID
Ссылка на GUID, указывающий, какой обработчик будет создан. Одно из следующих значений, определенных в Shlguid.h:
BHID_SFObject
Ограничивает использование BindToObject.
BHID_SFUIObject
Ограничивает использование getUIObjectOf.
BHID_SFViewObject
Ограничивает использование параметром CreateViewObject.
BHID_Storage
Пытается получить RIID хранилища, но по умолчанию используется реализация оболочки при сбое.
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
ИДЕНТИФИКАТОР извлекаемого типа объекта.
ppv
Тип: void**
При возврате этим методом содержит указатель типа riid , возвращаемый обработчиком, заданным параметром rbhid.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 1 (SP1) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl_core.h (включая Shobjidl.h) |
DLL | Shell32.dll (версия 5.00 или более поздняя) |