Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция обнаружения доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Выполняет запрос, определенный iFunctionDiscovery::CreateInstanceCollectionQuery.
Синтаксис
HRESULT Execute(
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Параметры
[out] ppIFunctionInstanceCollection
Указатель на интерфейс IFunctionInstanceCollection , который получает запрошенную коллекцию экземпляров функции.
Возвращаемое значение
Возможные возвращаемые значения включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. Результаты возвращаются синхронно в ppIFunctonInstanceCollecton. |
|
Метод не может выделить память, необходимую для выполнения этой операции. |
|
Некоторые результаты будут возвращены асинхронным уведомлением. См. сведения в разделе "Заметки". |
Предопределенный запрос — это запрос многоуровневой категории. При выполнении предопределенного запроса каждый поставщик, возвращающий экземпляр функции, также возвращает значение HRESULT. Значения HRESULT поставщика агрегируются, а значение, возвращаемое методом Execute , отражает эти статистические результаты. Результаты агрегируются следующим образом:
- Если все поставщики возвращают S_OK, функция Выполнить возвращает S_OK.
- Если хотя бы один поставщик возвращает E_PENDING, а все остальные поставщики возвращают S_OK или E_PENDING, выполнение возвращает E_PENDING.
- Если все поставщики возвращают значение ошибки (т. е. значение, отличное от S_OK или E_PENDING), функция Execute возвращает значение ошибки, возвращенное поставщиком сети, к которому был выполнен последний запрос. Кроме того, если клиентская процедура обратного вызова IFunctionDiscoveryNotification была предоставлена IFunctionDiscovery::CreateInstanceCollectionQuery, для каждого поставщика отправляется уведомление OnError . Каждое уведомление OnError содержит HRESULT, возвращенный поставщиком.
- Если хотя бы один поставщик возвращает значение ошибки, а все остальные поставщики возвращают S_OK, функция Выполнить возвращает S_OK. Уведомления OnError отправляются, как описано выше.
- Если хотя бы один поставщик возвращает значение ошибки, а по крайней мере один поставщик возвращает E_PENDING, функция Выполнить возвращает E_PENDING. Уведомления OnError отправляются, как описано выше.
Когда функция Execute возвращает E_PENDING, результирующий набор возвращается асинхронно через интерфейс IFunctionDiscoveryNotification , предоставленный методу CreateInstanceCollectionQueryIFunctionDiscovery. PpIFunctionInstanceCollection может иметь значение NULL или содержать частичный результирующий набор. Перечисление завершается после вызова метода OnEventIFunctionDiscoveryNotification с FD_EVENTID_SEARCHCOMPLETE. После получения события FD_EVENTID_SEARCHCOMPLETE результаты обновляются.
Комментарии
Этот метод должен быть вызван клиентской программой, прежде чем какие-либо данные могут быть получены из объекта запроса. При вызове этот метод выполняет следующие действия:
- Извлекает объект коллекции экземпляра функции.
- Запрашивает поставщика категории, передаваемой в IFunctionDiscovery::CreateInstanceCollectionQuery.
- Извлекает поставщик категорий.
- Запрашивает поставщик категорий с использованием данных подкатегории для создания коллекции с помощью ограничений запросов.
- Инициирует механизм уведомления об обновлении, если адрес подпрограммы обратного вызова IFunctionDiscoveryNotification клиентской программы предоставлен для IFunctionDiscovery::CreateInstanceCollectionQuery.
- Кэширует данные коллекции и возвращает данные.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | functiondiscoveryapi.h |
DLL | FunDisc.dll |