метод SWbemObject.InstancesAsync_
Метод InstancesAsync_SWbemObject асинхронно предоставляет экземпляры текущего объекта класса. Этот метод реализует простой запрос. Для более сложных запросов может потребоваться использование SWbemServices.ExecQuery.
Описание этого синтаксиса см. в разделе Соглашения о документах для API сценариев.
Синтаксис
SWbemObject.InstancesAsync_( _
ByVal objWbemSink, _
[ ByVal iFlags ], _
[ ByVal objwbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
Параметры
-
objWbemSink [in]
-
Приемник объектов, возвращающий экземпляры.
-
iFlags [in, необязательный]
-
Целое число, определяющее поведение вызова. Этот параметр может принимать следующие значения.
-
wbemFlagSendStatus (128 (0x80))
-
Вызывает асинхронные вызовы для отправки обновлений состояния в обработчик событий SWbemSink.OnProgress для приемника объекта.
-
wbemFlagDontSendStatus (0 (0x0))
-
Запрещает асинхронным вызовам отправлять обновления состояния в обработчик событий OnProgress для приемника объектов.
-
wbemFlagUseAmendedQualifiers (131072 (0x20000))
-
Вызывает WMI для возврата локализованных описаний классов и свойств. Дополнительные сведения см. в разделе Локализация сведений о классе WMI.
objwbemNamedValueSet [in, необязательный]
Как правило, это не определено. В противном случае это объект SWbemNamedValueSet , элементы которого представляют сведения контекста, которые могут использоваться поставщиком, обслуживающим запрос. Поставщик, поддерживающий или требующий таких сведений, должен документировать имена распознаваемых значений, тип данных значения, допустимые значения и семантику.
objWbemAsyncContext [in, необязательно]
Это объект SWbemNamedValueSet , который возвращается в приемник объекта для определения источника исходного асинхронного вызова. Используйте этот параметр, если выполняете несколько асинхронных вызовов с использованием одного и того же приемника объектов. Чтобы использовать этот параметр, создайте объект SWbemNamedValueSet и используйте метод SWbemNamedValueSet.Add , чтобы добавить значение, определяющее асинхронный вызов, который вы выполняете. Этот объект SWbemNamedValueSet возвращается в приемник объекта, а источник вызова можно извлечь с помощью метода SWbemNamedValueSet.Item . Дополнительные сведения см. в разделе Вызов метода .
Возвращаемое значение
Этот метод не возвращает значение. В случае успешного выполнения приемник получает событие OnObjectReady для каждого экземпляра . После последнего экземпляра приемник объекта получит событие OnCompleted .
Коды ошибок
После завершения метода InstancesAsync_ объект Err может содержать один из кодов ошибок в следующем списке.
-
wbemErrAccessDenied — 2147749891 (0x80041003)
-
Текущий пользователь не имеет разрешения на просмотр экземпляров указанного класса.
-
wbemErrFailed — 2147749889 (0x80041001)
-
Произошла неуказаная ошибка.
-
wbemErrInvalidClass — 2147749904 (0x80041010)
-
Указанный класс недопустим.
-
wbemErrInvalidParameter — 2147749896 (0x80041008)
-
Указанный параметр недопустим.
-
wbemErrOutOfMemory — 2147749894 (0x80041006)
-
Недостаточно памяти для завершения операции.
Комментарии
Этот вызов возвращается немедленно. Запрошенные объекты и состояние возвращаются вызывающей объекту с помощью обратных вызовов, доставленных в приемник, указанный в objWbemSink. Чтобы обработать каждый объект при его поступлении, создайте objWbemSink. Подпрограмма события OnObjectReady. После возврата всех объектов можно выполнить окончательную обработку в реализации objWbemSink. Событие OnCompleted .
Асинхронный обратный вызов позволяет пользователю, не прошедшему проверку подлинности, предоставлять данные в приемник. Это создает угрозу безопасности для сценариев и приложений. Чтобы избежать рисков, используйте полусинхронный или синхронный обмен данными. Дополнительные сведения см. в разделе Вызов метода .
Метод InstancesAsync_ работает только для объектов класса. Возвращаемая коллекция не имеет нулевого (0) элемента.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |