Функция SHCreateShellItem (shlobj_core.h)

Создает объект IShellItem .

Примечание Вместо этой функции рекомендуется использовать SHCreateItemWithParent или SHCreateItemFromIDList .
 

Синтаксис

SHSTDAPI SHCreateShellItem(
  [in, optional] PCIDLIST_ABSOLUTE pidlParent,
  [in, optional] IShellFolder      *psfParent,
  [in]           PCUITEMID_CHILD   pidl,
  [out]          IShellItem        **ppsi
);

Параметры

[in, optional] pidlParent

Тип: PCIDLIST_ABSOLUTE

Значение PIDL для родительского объекта. Это значение может иметь значение NULL.

[in, optional] psfParent

Тип: IShellFolder*

Указатель на родительскую папку IShellFolder. Это значение может иметь значение NULL.

[in] pidl

Тип: PCUITEMID_CHILD

Значение PIDL для запрошенного элемента. Если родительская информация не включена в pidlParent или psfParent, это должен быть абсолютный идентификатор PIDL.

[out] ppsi

Тип: IShellItem**

При возврате этого метода содержит указатель интерфейса на новый элемент IShellItem.

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

Тип: HRESULT

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

Комментарии

SHCreateShellItem создает объект , представляющий элемент пространства имен оболочки. Вызывающий объект должен предоставлять родительские сведения в pidlParent или psfParent; Кроме того, вызывающий объект может предоставить абсолютный idList в параметре pidl .

Существует три допустимых шаблона вызова для этой функции:

  1. Родительская папка определяется абсолютным идентификатором IDList pidlParent. Параметр pidl указывает на дочерний IDList, который идентифицирует элемент в папке, определяемой pidlParent.
    IShellItem *psi;
    SHCreateShellItem(pidlParent, NULL, pidlChild, &psi);
    
    
  2. Родительскую папку определяет psfParent. Параметр pidl указывает на дочерний IDList, который идентифицирует элемент в папке, определяемой psfParent.
    IShellItem *psi;
    SHCreateShellItem(NULL, psfParent, pidlChild, &psi);
    
    
  3. Элемент идентифицируется абсолютным идентификатором IDList, переданным параметру pidl .
    IShellItem *psi;
    SHCreateShellItem(NULL, NULL, pidlFull, &psi);
    
    

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 1 (SP1) [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shlobj_core.h (включая Shlobj.h)
Библиотека Shell32.lib
DLL Shell32.dll
Набор API ext-ms-win-shell-shell32-l1-2-2 (представлено в Windows 10 версии 10.0.14393)