Метод SWbemServices.InstancesOfAsync

Метод InstancesOfAsync объекта SWbemServices извлекает экземпляры указанного класса в соответствии с заданными пользователем критериями.

Метод вызывается в асинхронном режиме. Дополнительные сведения см. в разделе "Вызов метода".

Описание синтаксиса см. в разделе "Соглашения о документах" для API скриптов.

Синтаксис

SWbemServices.InstancesOfAsync( _
  ByVal ObjWbemSink, _
  ByVal strClass, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Параметры

ObjWbemSink

Приемник объектов, получающий экземпляры асинхронно. Создайте объект SWbemSink для получения объектов.

strClass

Обязательно. Строка, содержащая имя класса для нужных экземпляров. Этот параметр не может быть пустым.

iFlags [необязательно]

Определяет глубину перечисления вызовов и возвращается ли вызов немедленно. Этот параметр может принимать следующие значения.

wbemQueryFlagShallow (1 (0x1))

Заставляет перечисление включать только непосредственные подклассы указанного родительского класса.

wbemQueryFlagDeep (0 (0x0))

Значение по умолчанию для этого параметра. Это значение заставляет перечисление включать все классы в иерархию.

wbemFlagSendStatus (128 (0x80))

Вызывает асинхронные вызовы для отправки обновлений состояния обработчику событий OnProgress для приемника объектов.

wbemFlagDontSendStatus (0 (0x0))

Запрещает асинхронным вызовам отправлять обновления состояния обработчику событий OnProgress для приемника объектов.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Вызывает WMI возвращать данные о поправках класса с определением базового класса. Дополнительные сведения см. в разделе "Локализация сведений о классе WMI".

objWbemNamedValueSet [необязательно]

Как правило, это не определено. В противном случае это объект SWbemNamedValueSet , элементы которого представляют сведения о контексте, которые могут использоваться поставщиком, обслуживающим запрос. Поставщик, поддерживающий или требующий контекстной информации, должен документирует распознанные имена значений, тип данных значения, допустимые значения и семантику.

objWbemAsyncContext [необязательно]

Объект SWbemNamedValueSet , который возвращается в приемник объекта, чтобы определить источник исходного асинхронного вызова. Используйте этот параметр, если выполняется несколько асинхронных вызовов с помощью одного приемника объектов. Чтобы использовать этот параметр, создайте объект SWbemNamedValueSet и используйте метод SWbemNamedValueSet.Add , чтобы добавить значение, определяющее асинхронный вызов, который выполняется. Этот объект SWbemNamedValueSet возвращается в приемник объектов, и источник вызова можно извлечь с помощью метода SWbemNamedValueSet.Item.

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

Этот метод не возвращает значение. В случае успешного выполнения приемник получает событие OnObjectReady на экземпляр. После последнего экземпляра приемник объекта получает событие OnCompleted.

Коды ошибок

После завершения метода InstancesOfAsync объект Err может содержать один из кодов ошибок в следующем списке.

wbemErrAccessDenied — 2147749891 (0x80041003)

Текущий пользователь не имеет разрешения на просмотр экземпляров указанного класса.

wbemErrFailed - 2147749889 (0x80041001)

Произошла неуказанная ошибка.

wbemErrInvalidClass — 2147749904 (0x80041010)

Указанный класс недопустим.

wbemErrInvalidParameter — 2147749896 (0x80041008)

Указанный параметр недопустим.

wbemErrOutOfMemory — 2147749894 (0x80041006)

Недостаточно памяти для выполнения операции.

Замечания

Этот вызов возвращается немедленно. Запрошенные объекты и состояние возвращаются вызывающему объекту через обратные вызовы, доставленные в приемник, указанный в objWbemSink. Чтобы обработать каждый объект при возвращении , создайте objWbemSink.Subroutine события OnObjectReady . После возврата всех объектов можно выполнить окончательную обработку в реализации objWbemSink.Событие OnCompleted .

Асинхронный обратный вызов позволяет пользователю, не прошедшим проверку подлинности, предоставлять данные приемнику. Это создает риски безопасности для скриптов и приложений. Сведения об устранении рисков см. в разделе "Настройка безопасности в асинхронном вызове"

Метод InstancesOfAsync работает только для объектов класса. Это не ошибка для возвращаемого перечислителя, который имеет ноль (0) элементов.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Заголовок
Wbemdisp.h
Библиотека типов
Wbemdisp.tlb
DLL-библиотеки
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

См. также

SWbemServices

Вызов метода