Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция обнаружения доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Создает экземпляр функции. Все экземпляры функций должны быть созданы с помощью этого метода. Другие реализации, поддерживающие 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 |