Метод SWbemServices.Get

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

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

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

Синтаксис

objWbemObject = .Get( _
  [ ByVal strObjectPath ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

Параметры

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

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

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

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

wbemFlagUseAmendedQualifiers (131072 (0x20000))

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

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

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

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

В случае успешного выполнения этот метод возвращает объект SWbemObject , представляющий запрошенный объект.

Коды ошибок

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

wbemErrAccessDenied — 2147749891 (0x80041003)

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

wbemErrFailed — 2147749889 (0x80041001)

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

wbemErrInvalidParameter — 2147749896 (0x80041008)

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

wbemErrInvalidObjectPath — 2147749946 (0x8004103A)

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

wbemErrNotFound — 2147749890 (0x80041002)

Не удалось найти запрошенный объект.

wbemErrOutOfMemory — 2147749894 (0x80041006)

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

Комментарии

В отличие от методов ExecQuery и InstancesOf , метод Get всегда возвращает объект SWbemObject , представляющий конкретный экземпляр ресурса, управляемого WMI. Чтобы получить конкретный экземпляр ресурса, управляемого WMI, с помощью метода Get необходимо указать получение экземпляра, передав методу путь к объекту, как показано в следующем скрипте.

strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objSWbemObject = objSWbemServices.Get("Win32_Service.Name='Messenger'")
Wscript.Echo "Name:         " & objSWbemObject.Name        & vbCrLf & _
             "Display Name: " & objSWbemObject.DisplayName & vbCrLf & _
             "Start Mode:   " & objSWbemObject.StartMode   & vbCrLf & _
             "State:        " & objSWbemObject.State

Этот метод можно использовать для получения одноэлементных объектов, таких как __CIMOMIdentification, которые содержат сведения о версии запущенной установки WMI.

Вы можете проверить репозиторий с помощью средства просмотра, например CIM Studio , чтобы убедиться, что новый класс и экземпляр отображаются. Пример удаления класса и экземпляра из репозитория см. в разделе SWbemServices.Delete или SWbemObject.Delete_.

Требования

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

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

SWbemServices

SWbemObject