Поделиться через


Функция SHGetItemFromDataObject (shobjidl_core.h)

Создает IShellItem или связанный объект на основе элемента, указанного iDataObject.

Синтаксис

HRESULT SHGetItemFromDataObject(
  [in]  IDataObject            *pdtobj,
  [in]  DATAOBJ_GET_ITEM_FLAGS dwFlags,
  [in]  REFIID                 riid,
  [out] void                   **ppv
);

Параметры

[in] pdtobj

Тип: IDataObject*

Указатель на исходный экземпляр IDataObject .

[in] dwFlags

Тип: DATAOBJ_GET_ITEM_FLAGS

Одно или несколько значений из перечисления DATAOBJ_GET_ITEM_FLAGS для указания параметров для целевого объекта. Может иметь значение 0.

[in] riid

Тип: REFIID

Ссылка на IID интерфейса, извлекаемого через ppv, обычно IID_IShellItem.

[out] ppv

Тип: void**

При возврате этим методом содержит указатель интерфейса, запрошенный в riid. Обычно это IShellItem.

Возвращаемое значение

Тип: HRESULT

Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Рекомендуется использовать макрос IID_PPV_ARGS , определенный в Objbase.h, для упаковки параметров riid и ppv . Этот макрос предоставляет правильный КОД на основе интерфейса, на который указывает значение в ppv, что исключает возможность ошибки кода.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shell32.dll (версия 6.1 или более поздняя)