Метод IFunctionDiscovery::CreateInstanceCollectionQuery (functiondiscoveryapi.h)

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

Создает запрос для коллекции конкретных экземпляров функции.

Синтаксис

HRESULT CreateInstanceCollectionQuery(
  [in]      const WCHAR                      *pszCategory,
  [in]      const WCHAR                      *pszSubCategory,
  [in]      BOOL                             fIncludeAllSubCategories,
  [in]      IFunctionDiscoveryNotification   *pIFunctionDiscoveryNotification,
  [in, out] FDQUERYCONTEXT                   *pfdqcQueryContext,
  [out]     IFunctionInstanceCollectionQuery **ppIFunctionInstanceCollectionQuery
);

Параметры

[in] pszCategory

Категория для запроса. См . раздел Определения категорий.

[in] pszSubCategory

Подкатегория для запроса. См. раздел Определения подкатегорий. Этот параметр может принимать значение NULL.

Запросы подкатегорий поддерживаются только для многоуровневых категорий и некоторых категорий поставщиков. Поставщик реестра, поставщик связей PnP-X и поставщик публикации поддерживают запросы подкатегорий. Настраиваемые поставщики могут быть явно разработаны для поддержки запросов подкатегорий. Это означает, что параметру pszSubCategory следует присвоить значение, отличное от NULL , только если параметру pszCategory присвоено значение FCTN_CATEGORY_REGISTRY, FCTN_CATEGORY_PUBLICATION, FCTN_CATEGORY_PNPXASSOCIATION или значение настраиваемой категории, определенное для многоуровневой категории или настраиваемого поставщика, поддерживающего запросы подкатегории.

[in] fIncludeAllSubCategories

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

Если значение РАВНО FALSE, этот метод ограничивает созданный запрос возвращением экземпляров функции в категории, указанной в pszCategory , и подкатегории, указанной в pszSubCategory.

[in] pIFunctionDiscoveryNotification

Указатель на интерфейс IFunctionDiscoveryNotification , реализованный вызывающим приложением. Этот параметр может принимать значение NULL. Этот указатель действителен до освобождения возвращенного объекта запроса.

[in, out] pfdqcQueryContext

Указатель на контекст, в котором был создан запрос. Тип FDQUERYCONTEXT определяется как DWORDLONG.

[out] ppIFunctionInstanceCollectionQuery

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

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

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

Возвращаемый код/значение Описание
S_OK
Метод завершился успешно.
E_INVALIDARG
Недопустимое значение pszCategory или pIID . Значение, возвращаемое параметром ppIFunctionInstanceCollectionQuery , равно NULL.
E_OUTOFMEMORY
Метод не может выделить память, необходимую для выполнения этой операции.
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
Значение pszCategory или pszSubCategory неизвестно.

Комментарии

Если указан параметр pIFunctionDiscoveryNotification , он включает процесс уведомления об изменениях обнаружения функций. Этот параметр может принимать значение NULL. Однако это необходимо для сетевых поставщиков, так как они не возвращают синхронные результаты. Сетевые поставщики обнаружения функций возвращают экземпляры только через интерфейс IFunctionDiscoveryNotification .

Этот метод инициализирует только вызов запроса. Метод Execute интерфейса IFunctionInstanceCollectionQuery , возвращаемый в ppIFunctionInstanceCollectionQuery , должен вызываться для выполнения запроса и возврата любых данных.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header functiondiscoveryapi.h
DLL FunDisc.dll

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

Запросы обнаружения функций

IFunctionDiscovery