Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция обнаружения доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Извлекает коллекцию экземпляров функций, соответствующих указанным ограничениям.
Синтаксис
HRESULT Query(
[in] IFunctionDiscoveryProviderQuery *pIFunctionDiscoveryProviderQuery,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Параметры
[in] pIFunctionDiscoveryProviderQuery
Указатель на интерфейс IFunctionDiscoveryProviderQuery , содержащий параметры, определяющие условия запроса.
[out] ppIFunctionInstanceCollection
Указатель на интерфейс IFunctionInstanceCollection , который поставщик должен использовать для синхронного возврата экземпляров функций в ответ на заданный запрос.
При реализации метода Query можно задать для этого параметра значение NULL , если поставщик поддерживает уведомления, то есть поставщик возвращает результаты асинхронно. Асинхронные результаты должны возвращаться с помощью интерфейса IFunctionDiscoveryNotification , переданного в метод Initialize поставщика.
Если клиентское приложение не реализовало уведомления, оно может передать параметр NULL .
Возвращаемое значение
Возможные возвращаемые значения включают, помимо прочего, следующие.
| Код возврата | Описание |
|---|---|
|
Метод успешно завершен, и результаты возвращаются синхронно. |
|
Параметр pIFunctionDiscoveryProviderQuery имеет значение NULL. |
|
Метод успешно завершен, и результаты возвращаются асинхронно. |
Комментарии
Активный запрос завершается обнаружением функций с вызовом метода EndQuery . Обратите внимание, что EndQuery будет вызываться только в том случае, если клиент указал интерфейс IFunctionDiscoveryNotification для запроса. Если IFunctionDiscoveryNotification не предоставлен, поставщик должен считать запрос завершенным после завершения вызова запроса .
Клиент может повторно выполнить запрос в любое время после возврата предыдущего вызова запроса . Реализация Query должна иметь возможность возвращать IFunctionInstanceCollection для нового запроса. EndQuery будет вызываться только перед последующим вызовом запроса , когда клиент передал интерфейс IFunctionDiscoveryNotification , переданный методу Initialize поставщика.
Если запрос возвращает E_PENDING, поставщик должен вызвать метод OnEvent интерфейса IFunctionDiscoveryNotification с FD_EVENTID_SEARCHCOMPLETE , чтобы указать, что перечисление результатов завершено. Сбой отправки события FD_EVENTID_SEARCHCOMPLETE может привести к зависаю клиентов на неопределенный срок
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows Vista [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
| Целевая платформа | Windows |
| Header | functiondiscoveryprovider.h |