Interfaz IWbemContext (wbemcli.h)

La interfaz IWbemContext se usa opcionalmente para comunicar información de contexto adicional a los proveedores al enviar llamadas IWbemServices a WMI. Todas las llamadas principales de IWbemServices toman un parámetro opcional que apunta a un objeto de este tipo.

Herencia

La interfaz IWbemContext hereda de la interfaz IUnknown . IWbemContext también tiene estos tipos de miembros:

Métodos

La interfaz IWbemContext tiene estos métodos.

 
IWbemContext::BeginEnumeration

El método IWbemContext::BeginEnumeration restablece la enumeración de todos los valores de contexto del objeto .
IWbemContext::Clone

El método IWbemContext::Clone realiza una copia lógica del objeto IWbemContext actual. Este método puede ser útil cuando se deben realizar muchas llamadas que tienen objetos IWbemContext muy idénticos.
IWbemContext::D eleteAll

El método IWbemContext::D eleteAll quita todos los valores de contexto con nombre del objeto actual, lo que vacía el objeto .
IWbemContext::D eleteValue

El método IWbemContext::D eleteValue elimina un valor de contexto con nombre creado por IWbemContext::SetValue.
IWbemContext::EndEnumeration

El método IWbemContext::EndEnumeration finaliza una secuencia de enumeración que comienza con IWbemContext::BeginEnumeration. Esta llamada no es necesaria, pero se libera lo antes posible cualquier recurso del sistema asociado a la enumeración.
IWbemContext::GetNames

El método IWbemContext::GetNames devuelve una estructura SAFEARRAY de todos los nombres de los valores de contexto con nombre.
IWbemContext::GetValue

El método IWbemContext::GetValue se usa para recuperar un valor de contexto con nombre específico por nombre.
IWbemContext::Next

El método IWbemContext::Next recupera el siguiente valor en una enumeración de todos los valores de contexto que comienzan por IWbemContext::BeginEnumeration.
IWbemContext::SetValue

El método IWbemContext::SetValue crea o sobrescribe un valor de contexto con nombre.

Comentarios

A menudo, los proveedores dinámicos requieren más información de la especificada en los parámetros normales de un método IWbemServices . Por ejemplo, para manipular cualquier objeto de esquema WMI que proporcione, es posible que un proveedor necesite conocer un nombre de comunidad de Protocolo simple de administración de redes (SNMP) o una base de datos y un nombre de tabla de Lenguaje de consulta estructurado (SQL). Un cliente puede agregar esta información a un objeto IWbemContext y enviar el objeto IWbemContext junto con la llamada como uno de los parámetros.

Los proveedores deben usar objetos de contenido con moderación. Se recomienda que nunca sea necesario. Si un proveedor requiere una gran cantidad de información de contexto altamente específica para responder a una solicitud, todos los clientes deben codificarse para proporcionar esta información, lo que rompe el modelo de acceso uniforme que es la base de WMI. No obstante, en algunos casos no se puede evitar. Por lo tanto, este mecanismo se proporciona para que sea posible acceder a dichos proveedores. Los desarrolladores de estos proveedores deben proporcionar documentación adecuada para que los desarrolladores de software cliente puedan manipular correctamente estos objetos CIM.

Los proveedores que admiten el uso de IWbemContext para permitir a los clientes especificar más información en una solicitud deben restringir los tipos de valores que admiten a los tipos de la lista siguiente:

  • VT_I4
  • VT_R8
  • VT_BOOL
  • VT_BSTR
  • VT_UNKNOWN
  • Cualquiera de los anteriores combinados con VT_ARRAY
Nota Solo los objetos que admiten IWbemClassObject pueden serializar sus métodos IUnknown en una instancia de IWbemContext mediante una variante de tipo VT_UNKNOWN.
 
Un objeto IWbemContext , que se crea mediante CoCreateInstanceEx, es un contenedor simple de valores con nombre. Acceda a estos métodos para rellenar la información de contexto requerida por un proveedor dinámico. Después de la llamada a uno de los métodos IWbemServices , el objeto IWbemContext se puede reutilizar para otra llamada o se puede desasignar mediante Release y otro objeto creado para otras llamadas a métodos IWbemServices .

La información contenida en un objeto IWbemContext viene determinada por completo por el proveedor subyacente. WMI no usa la información, pero la reenvía al proveedor. Los proveedores deben publicar la información de contexto que requieren para estas solicitudes de servicio.

La aplicación cliente llama a CoCreateInstanceEx para crear un único objeto de contexto. A continuación, llama a SetValue una o varias veces para configurar valores de contexto para el proveedor. Por último, envía el objeto a uno de los métodos IWbemServices , que llama inmediatamente a Release en el objeto de contexto después de que se haya devuelto la llamada. Los demás métodos se usan principalmente por proveedores que reciben el objeto de contexto y tienen que extraer información.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemcli.h (include Wbemidl.h)

Consulte también

API COM para WMI

Creación y declaración de una instancia mediante C++

Realización de llamadas a WMI

Solicitud de datos WMI en una plataforma de 64 bits

Recuperación de parte de una instancia de WMI