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


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

Создает и инициализирует объект элемента оболочки из имени синтаксического анализа.

Синтаксис

SHSTDAPI SHCreateItemFromParsingName(
  [in]           PCWSTR   pszPath,
  [in, optional] IBindCtx *pbc,
  [in]           REFIID   riid,
  [out]          void     **ppv
);

Параметры

[in] pszPath

Тип: PCWSTR

Указатель на отображаемое имя.

[in, optional] pbc

Тип: IBindCtx*

Необязательный элемент. Указатель на контекст привязки, используемый для передачи параметров в качестве входных и выходных данных в функцию синтаксического анализа. Эти переданные параметры часто относятся к источнику данных и задокументированы владельцами источников данных. Например, источник данных файловой системы принимает анализируемое имя (как WIN32_FIND_DATA структуру) с помощью параметра контекста STR_FILE_SYS_BIND_DATA привязки.

STR_PARSE_PREFER_FOLDER_BROWSING можно передать, чтобы указать, что URL-адреса анализируются с помощью источника данных файловой системы, когда это возможно. Создайте объект контекста привязки с помощью CreateBindCtx и заполните значения с помощью IBindCtx::RegisterObjectParam. Полный список этих ключей см. в разделе Привязка ключей строк контекста. Пример использования этого параметра см. в разделе Пример анализа с помощью параметров .

Если данные не передаются в функцию синтаксического анализа или не получены из нее, это значение может иметь значение NULL.

[in] riid

Тип: REFIID

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

[out] ppv

Тип: void**

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

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

Тип: HRESULT

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

Комментарии

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

Требования

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