Метод IFunctionDiscoveryProviderFactory::CreateInstance (functiondiscoveryprovider.h)

[Функция обнаружения доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]

Создает экземпляр функции. Все экземпляры функций должны быть созданы с помощью этого метода. Другие реализации, поддерживающие IFunctionInstance , не следует использовать.

Синтаксис

HRESULT CreateInstance(
  [in]  const WCHAR                *pszSubCategory,
  [in]  const WCHAR                *pszProviderInstanceIdentity,
  [in]  INT_PTR                    iProviderInstanceContext,
  [in]  IPropertyStore             *pIPropertyStore,
  [in]  IFunctionDiscoveryProvider *pIFunctionDiscoveryProvider,
  [out] IFunctionInstance          **ppIFunctionInstance
);

Параметры

[in] pszSubCategory

Строка подкатегории для экземпляра функции. См. раздел Определения подкатегорий.

[in] pszProviderInstanceIdentity

Идентификатор экземпляра поставщика.

Обнаружение функций использует этот идентификатор, чтобы убедиться, что идентификаторы экземпляров функций, возвращаемые IFunctionInstance::GetID , являются уникальными. С этой целью функция обнаружения функций присоединяет префикс к идентификатору, переданного в pszProviderInstanceIdentity , чтобы убедиться, что данный идентификатор экземпляра функции является уникальным для всех поставщиков. Разработчики должны только убедиться, что pszProviderInstanceIdentity однозначно идентифицирует устройство, ресурс или экземпляр в область поставщика.

Эта строка возвращается клиентским приложениям, которые вызывают IFunctionInstance::GetProviderInstanceID.

Верхний предел размера этой строки отсутствует.

[in] iProviderInstanceContext

Контекст, связанный с конкретным экземпляром функции.

[in] pIPropertyStore

Указатель на интерфейс IPropertyStore .

[in] pIFunctionDiscoveryProvider

Указатель на экземпляр поставщика IFunctionDiscoveryProvider , создающий этот экземпляр функции.

[out] ppIFunctionInstance

Указатель на интерфейс IFunctionInstance .

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

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

Комментарии

Поставщик должен указать подкатегорию (может иметь значение NULL), идентификатор экземпляра, выделенный поставщиком контекст (при необходимости) и необязательное хранилище свойств.

CreateInstance возвращает поставщику соответствующий инициализированный экземпляр функции.

Контекст, заданный поставщиком, будет передан поставщику для всех последующих методов, связанных с экземпляром функции, таких как InstanceReleased, InstancePropertyStoreOpen, InstancePropertyStoreFlush и InstanceQueryService.

Поставщик должен гарантировать, что количество ссылок на поставщик не перейдет к нулю, возможно, в другом потоке, при вызове CreateInstance .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header functiondiscoveryprovider.h

См. также раздел

IFunctionDiscoveryProviderFactory