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


Метод SWbemServices.ReferencesToAsync

Метод ReferencesToAsync объекта SWbemServices возвращает все классы или экземпляры ассоциаций, ссылающиеся на определенный исходный класс или экземпляр. Этот метод выполняет ту же функцию, что и запрос REFERENCES OF WQL.

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

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

Синтаксис

SWbemServices.ReferencesToAsync( _
  ByVal ObjWbemSink, _
  ByVal strObjectPath, _
  [ ByVal strResultClass ], _
  [ ByVal strRole ], _
  [ ByVal bClassesOnly ], _
  [ ByVal bSchemaOnly ], _
  [ ByVal strRequiredQualifier ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Параметры

ObjWbemSink

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

strObjectPath

Обязательный. Строка, содержащая путь к объекту источника для этого метода. Дополнительные сведения см. в разделе Локализация сведений о классе WMI.

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

Строка, содержащая имя класса. Если он указан, этот параметр указывает, что возвращаемые объекты связи должны принадлежать классу, указанному в этом параметре, или быть производными от него.

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

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

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

Логическое значение, указывающее, следует ли возвращать список имен классов, а не фактические экземпляры классов. Это классы, к которым принадлежат объекты ассоциации. Значение по умолчанию для этого параметра — FALSE.

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

Логическое значение, указывающее, применяется ли запрос к схеме, а не к данным. Значение по умолчанию для этого параметра — FALSE. Значение TRUE можно задать только в том случае, если параметр strObjectPath указывает путь к объекту класса. Если задано значение TRUE, набор возвращаемых конечных точек представляет классы, связанные с исходным классом в схеме.

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

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

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

Целое число, указывающее дополнительные флаги для операции. По умолчанию для этого параметра используется wbemFlagBidirectional. Этот параметр может принимать следующие значения.

wbemFlagSendStatus (128 (0x80))

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

wbemFlagDontSendStatus (0 (0x0))

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

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Заставляет инструментарий управления Windows (WMI) возвращать данные изменения класса вместе с определением базового класса. Дополнительные сведения см. в разделе Локализация сведений о классе WMI.

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

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

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

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

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

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

Коды ошибок

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

Примечание

Возвращаемая коллекция с нулевыми элементами не является ошибкой.

wbemErrAccessDenied — 2147749891 (0x80041003)

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

wbemErrFailed — 2147749889 (0x80041001)

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

wbemErrInvalidParameter — 2147749896 (0x80041008)

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

wbemErrOutOfMemory — 2147749894 (0x80041006)

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

Комментарии

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

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

Требования

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

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

SWbemServices

SWbemObject.Associators_

SWbemObject.References_

SWbemServices.AssociatorsOf