Метод SWbemServices.AssociatorsOfAsync
Метод AssociatorsOfAsync объекта SWbemServices возвращает коллекцию объектов (классов или экземпляров), называемых конечными точками, которые связаны с указанным объектом. Вызов AssociatorsOfAsync возвращается немедленно, а результаты и состояние возвращаются вызывающей стороне через события, доставляемые в приемник, указанный в objWbemSink. Чтобы обработать каждый возвращенный объект, создайте objWbemSink. Обработчик событий OnObjectReady .
После поступления всех объектов обработка выполняется в objWbemSink. Событие OnCompleted . Этот метод выполняет ту же функцию, что и запрос ASSOCIATORS OF WQL. Дополнительные сведения о создании приемника см. в разделе Получение события WMI.
Метод вызывается в асинхронном режиме. Дополнительные сведения см. в разделе Вызов метода .
Описание этого синтаксиса см. в разделе Соглашения о документах для API сценариев.
Синтаксис
SWbemServices.AssociatorsOfAsync( _
ByVal objWbemSink, _
ByVal strObjectPath, _
[ ByVal strAssocClass ], _
[ ByVal strResultClass ], _
[ ByVal strResultRole ], _
[ ByVal strRole ], _
[ ByVal bClassesOnly ], _
[ ByVal bSchemaOnly ], _
[ ByVal strRequiredAssocQualifier ], _
[ ByVal strRequiredQualifier ], _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
Параметры
-
objWbemSink
-
Обязательный. Приемник объектов, получающий объекты асинхронно. Создайте объект SWbemSink для получения объектов.
-
strObjectPath
-
Обязательный. Строка, содержащая путь к объекту исходного класса или экземпляра. Дополнительные сведения см. в разделе Описание расположения объекта WMI.
-
strAssocClass [необязательно]
-
Строка, содержащая класс ассоциации. Этот параметр указывает, что возвращаемые конечные точки должны быть связаны с источником через указанный класс ассоциации или класс, производный от этого класса ассоциации.
-
strResultClass [необязательно]
-
Строка, содержащая имя класса. Если этот параметр указан, этот необязательный параметр указывает, что возвращаемые конечные точки должны принадлежать к классу, указанному в этом параметре, или быть производными от него.
-
strResultRole [необязательно]
-
Строка, содержащая имя свойства. Если этот параметр задан, этот параметр указывает, что возвращаемые конечные точки должны играть определенную роль в связи с исходным объектом. Роль определяется именем указанного свойства (которое должно быть ссылочным свойством) связи.
-
strRole [необязательно]
-
Строка, содержащая имя свойства. Если этот параметр задан, этот параметр указывает, что возвращаемые конечные точки должны участвовать в связи с исходным объектом, в котором исходный объект играет определенную роль. Роль определяется именем указанного свойства (которое должно быть ссылочным свойством) связи.
-
bClassesOnly [необязательно]
-
Логическое значение, указывающее, следует ли возвращать список имен классов, а не фактические экземпляры классов. К этим классам относятся экземпляры конечных точек. Значение по умолчанию для этого параметра — FALSE.
-
bSchemaOnly [необязательно]
-
Логическое значение, указывающее, применяется ли запрос к схеме, а не к данным. Значение по умолчанию для этого параметра — FALSE. Ему может быть присвоено значение TRUE , только если параметр strObjectPath указывает путь к объекту класса . Если задано значение TRUE, набор возвращаемых конечных точек представляет классы, которые правильно связаны с исходным классом в схеме.
-
strRequiredAssocQualifier [необязательно]
-
Строка, содержащая имя квалификатора. Если этот параметр задан, этот параметр указывает, что возвращаемые конечные точки должны быть связаны с исходным объектом через класс ассоциации, включающий указанный квалификатор.
-
strRequiredQualifier [необязательно]
-
Строка, содержащая имя квалификатора. Если этот параметр задан, этот параметр указывает, что возвращаемые конечные точки должны включать указанный квалификатор.
-
iFlags [необязательно]
-
Целое число, указывающее дополнительные флаги операции. По умолчанию для этого параметра используется wbemFlagDontSendStatus. Этот параметр может принимать следующие значения.
-
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 .
Коды ошибок
После завершения метода AssociatorsOfAsync объект Err может содержать один из кодов ошибок в следующем списке.
-
wbemErrAccessDenied — 2147749891 (0x80041003)
-
Текущий пользователь не имеет разрешения на просмотр одного или нескольких классов, возвращаемых вызовом.
-
wbemErrFailed — 2147749889 (0x80041001)
-
Незаданная ошибка.
-
wbemErrInvalidParameter — 2147749896 (0x80041008)
-
Указан недопустимый параметр.
-
wbemErrOutOfMemory — 2147749894 (0x80041006)
-
Недостаточно памяти для завершения операции.
-
wbemErrNotFound — 2147749890 (0x80041002)
-
Запрошенный элемент не найден.
Комментарии
Этот вызов возвращается немедленно. Запрошенные объекты и состояние возвращаются вызывающей объекту с помощью обратных вызовов, доставленных в приемник, указанный в objWbemSink. Чтобы обработать каждый возвращаемый объект, создайте objWbemSink. Подпрограмма события OnObjectReady . После возврата всех объектов можно выполнить окончательную обработку в реализации objWbemSink. Событие OnCompleted .
Асинхронный обратный вызов позволяет пользователю, не прошедшему проверку подлинности, предоставлять данные в приемник. Это создает угрозу безопасности для сценариев и приложений. Сведения об устранении рисков см. в статье Настройка безопасности при асинхронном вызове.
Используйте параметр objWbemAsyncContext в скриптах, чтобы проверить источник вызова.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Заголовок |
|
Библиотека типов |
|
DLL |
|
CLSID |
CLSID_SWbemServices |
IID |
IID_ISWbemServices |