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


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

[SHCoCreateInstance доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте CoCreateInstance.]

Создает com-объекты, реализованные в Shell32.dll.

Синтаксис

SHSTDAPI SHCoCreateInstance(
  [in, optional] PCWSTR      pszCLSID,
  [in, optional] const CLSID *pclsid,
  [in, optional] IUnknown    *pUnkOuter,
  [in]           REFIID      riid,
  [out]          void        **ppv
);

Параметры

[in, optional] pszCLSID

Тип: PCWSTR

Указатель на строку для преобразования в CLSID. Если значение РАВНО NULL, в качестве ИДЕНТИФИКАТОРа CLSID используется pclsid .

[in, optional] pclsid

Тип: const CLSID*

Создаваемый ИДЕНТИФИКАТОР CLSID.

[in, optional] pUnkOuter

Тип: IUnknown*

Указатель на внешний интерфейс IUnknown. Используется для агрегирования.

[in] riid

Тип: REFIID

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

[out] ppv

Тип: void**

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

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

Тип: HRESULT

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

Комментарии

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

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shlobj_core.h (включая Shlobj.h)
Библиотека Shell32.lib
DLL Shell32.dll (версия 5.0 или более поздняя)