Функция 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 или более поздняя) |