Интерфейс IWbemContext (wbemcli.h)
Интерфейс IWbemContext при необходимости используется для передачи дополнительных контекстных сведений поставщикам при отправке вызовов IWbemServices в WMI. Все основные вызовы в IWbemServices принимают необязательный параметр, указывающий на объект этого типа.
Наследование
Интерфейс IWbemContext наследуется от интерфейса IUnknown . IWbemContext также имеет следующие типы элементов:
Методы
Интерфейс IWbemContext содержит следующие методы.
IWbemContext::BeginEnumeration Метод IWbemContext::BeginEnumeration сбрасывает перечисление всех значений контекста в объекте . |
IWbemContext::Clone Метод IWbemContext::Clone создает логическую копию текущего объекта IWbemContext. Этот метод может быть полезен, если необходимо выполнить много вызовов, которые имеют практически идентичные объекты IWbemContext. |
IWbemContext::D eleteAll Метод IWbemContext::D eleteAll удаляет все именованные значения контекста из текущего объекта, тем самым очищая объект . |
IWbemContext::D eleteValue Метод IWbemContext::D eleteValue удаляет именованное значение контекста, созданное IWbemContext::SetValue. |
IWbemContext::EndEnumeration Метод IWbemContext::EndEnumeration завершает последовательность перечисления, которая начинается с IWbemContext::BeginEnumeration. Этот вызов не является обязательным, но он освобождает как можно раньше все системные ресурсы, связанные с перечислением . |
IWbemContext::GetNames Метод IWbemContext::GetNames возвращает структуру SAFEARRAY всех именованных значений контекста. |
IWbemContext::GetValue Метод IWbemContext::GetValue используется для получения определенного именованного значения контекста по имени. |
IWbemContext::Next Метод IWbemContext::Next извлекает следующее значение в перечислении всех значений контекста, начиная с IWbemContext::BeginEnumeration. |
IWbemContext::SetValue Метод IWbemContext::SetValue создает или перезаписывает именованное значение контекста. |
Комментарии
Часто динамическим поставщикам требуется больше сведений, чем указано в обычных параметрах метода IWbemServices . Например, для управления любыми объектами схемы WMI, которые он предоставляет, поставщику может потребоваться знать имя сообщества SNMP или имя базы данных язык SQL (SQL) и таблицы. Клиент может добавить эти сведения в объект IWbemContext и отправить объект IWbemContext вместе с вызовом в качестве одного из параметров.
Поставщики должны использовать объекты содержимого экономно. Рекомендуется, чтобы это никогда не требовалось. Если поставщику требуется большой объем строго конкретных контекстных сведений для ответа на запрос, то все клиенты должны быть закодированы для предоставления этой информации, что нарушает единую модель доступа, которая является основой WMI. Тем не менее, в некоторых случаях этого не удастся избежать. Таким образом, этот механизм предоставляется для предоставления доступа к таким поставщикам. Разработчики таких поставщиков должны предоставлять соответствующую документацию, чтобы разработчики клиентского программного обеспечения могли успешно управлять такими объектами CIM.
Поставщики, поддерживающие использование IWbemContext для предоставления клиентам возможности указывать дополнительные сведения в запросе, должны ограничить типы значений, которые они поддерживают, до типов из следующего списка:
- VT_I4
- VT_R8
- VT_BOOL
- VT_BSTR
- VT_UNKNOWN
- Любой из приведенных выше сочетаний с VT_ARRAY
Сведения, содержащиеся в объекте IWbemContext , полностью определяются базовым поставщиком. WMI не использует эти сведения, а пересылает их поставщику. Поставщики должны публиковать контекстные сведения, необходимые для этих запросов на обслуживание.
Клиентское приложение вызывает CoCreateInstanceEx для создания одного объекта контекста. Затем он вызывает SetValue один или несколько раз, чтобы настроить значения контекста для поставщика. Наконец, он отправляет объект в один из методов IWbemServices , который немедленно вызывает Release для объекта контекста после возврата вызова. Другие методы предназначены главным образом для поставщиков, которые получают объект контекста и должны извлекать сведения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | wbemcli.h (включая Wbemidl.h) |
См. также раздел
Создание и объявление экземпляра с помощью C++