Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция обнаружения доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Выполняет запрос, определенный IFunctionDiscovery::CreateInstanceQuery.
Синтаксис
HRESULT Execute(
[out] IFunctionInstance **ppIFunctionInstance
);
Параметры
[out] ppIFunctionInstance
Указатель на указатель интерфейса IFunctionInstance , который получает запрошенный экземпляр функции.
Возвращаемое значение
Возможные возвращаемые значения включают, помимо прочего, следующие.
| Возвращаемый код или значение | Описание |
|---|---|
|
Метод завершился успешно. |
|
Параметр ppIFunctionInstance имеет значение NULL. |
|
Метод не может выделить память, необходимую для выполнения этой операции. |
|
Результаты, возвращаемые поставщиком, будут поступать через асинхронное уведомление. |
|
Экземпляр функции, представленный указанным идентификатором, не существует на этом компьютере. |
|
Не удалось вернуть экземпляр функции, так как ключ, соответствующий экземпляру функции, был удален другим процессом. Эта ошибка возвращается поставщиком реестра, если ключ удаляется во время обработки запроса. |
|
Не удалось вернуть экземпляр функции, так как не удалось найти ключ, соответствующий экземпляру функции. Эта ошибка возвращается поставщиком реестра, если поставщику не удается найти соответствующие экземпляры для запроса экземпляра. |
Предопределенный запрос — это запрос многоуровневой категории. При выполнении предопределенного запроса каждый поставщик, возвращающий экземпляр функции, также возвращает значение 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 отправляются, как описано выше.
Комментарии
Этот метод должен вызываться клиентской программой для получения данных из объекта запроса. При вызове этот метод выполняет следующие действия:
- Извлекает экземпляр функции.
- Инициирует механизм уведомления об обновлении, если адрес подпрограммы обратного вызова IFunctionDiscoveryNotification клиентской программы предоставлен для IFunctionDiscovery::CreateInstanceQuery.
Если метод Execute вызывается дважды для одного и того же объекта запроса, первый запрос завершается до выполнения второго запроса.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows Vista [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
| Целевая платформа | Windows |
| Header | functiondiscoveryapi.h |
| DLL | FunDisc.dll |