Поделиться через


Метод SWbemObject.SubclassesAsync_

Метод SubclassesAsync_SWbemObject асинхронно предоставляет подклассы текущего объекта, который должен быть классом .

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

Синтаксис

SWbemObject.SubclassesAsync_( _
  ByVal objWbemSink, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Параметры

objWbemSink [in]

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

iFlags [in, необязательный]

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

wbemQueryFlagDeep (0 (0x0))

Принудительно выполняет рекурсивное перечисление во все подклассы, производные от указанного родительского класса. Сам родительский класс не возвращается в перечислении .

wbemQueryFlagShallow (1 (0x1))

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

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 .

Коды ошибок

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

wbemErrAccessDenied — 2147749891 (0x80041003)

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

wbemErrFailed — 2147749889 (0x80041001)

Незаданная ошибка.

wbemErrInvalidClass — 2147749904 (0x80041010)

Указанный класс не существует.

wbemErrInvalidParameter — 2147749896 (0x80041008)

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

wbemErrOutOfMemory — 2147749894 (0x80041006)

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

Комментарии

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

Асинхронный обратный вызов позволяет пользователю, не прошедшему проверку подлинности, предоставлять данные в приемник. Это создает угрозу безопасности для сценариев и приложений. Чтобы избежать рисков, используйте полусинхронный или синхронный обмен данными. Дополнительные сведения см. в разделе Вызов метода .

Рекомендуется, чтобы скрипты проверяли источник вызова с помощью параметра objWbemAsyncContext .

Если текущего объекта нет подклассов текущего объекта, возвращаемая коллекция не имеет никаких элементов, не является ошибкой. Метод SubclassesAsync_ работает только для объектов класса.

Требования

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

См. также раздел

SWbemObject

SWbemObjectSet

SWbemRefreshableItem