Функция 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 . Этот макрос предоставляет правильный идентификатор IID на основе интерфейса, на который указывает значение в PPv, что устраняет возможность ошибки кодирования.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 7 [только настольные приложения]
минимальный поддерживаемый сервер Windows Server 2008 R2 [только классические приложения]
целевая платформа Виндоус
Header shobjidl_core.h (include Shobjidl.h)
Library shell32.lib
DLL Shell32.dll (версия 6.1 или более поздняя)