勇芳软件工作室.汉化:  Windows Management Instrumentation > COM API for WMI > Interfaces >

IWbemContext

Previous pageReturn to chapter overviewNext page

IWbemContext接口提交给WMI的IWbemServices呼叫时,可选择用于将其他上下文信息传递给提供商。IWbemServices中的所有主要来电都会使用指向此类型对象的可选参数。

 

方法

 

IWbemContext接口继承了IUnknown接口的方法。

 

此外,IWbemContext定义了以下方法。

 

方法

描述

BeginEnumeration

开始IWbemContext对象中所有上下文值的枚举。

克隆

创建当前IWbemContext对象的完整副本。

DeleteAll

删除所有上下文值,清空IWbemContext对象。

DeleteValue

删除指定的上下文值。

EndEnumeration

结束以BeginEnumeration下一个开始的枚举。

GetNames

检索可用的所有上下文值的名称。

GetValue

通过名称检索指定的上下文值。

下一个

BeginEnumeration开始的所有上下文值的枚举中检索下一个值。

SetValue

设置特定的命名上下文值。

 

备注

 

通常,动态提供者需要比IWbemServices方法的正常参数中指定的更多信息。例如,为了操纵它提供的任何WMI模式对象,提供者可能需要知道简单网络管理协议(SNMP)团体名称或结构化查询语言(SQL)数据库和表名称。客户端可以将此信息添加到IWbemContext对象中,并将IWbemContext对象与调用一起发送为其中一个参数。

 

供应商应谨慎使用内容对象。建议不要求它。如果提供商需要大量高度特定的上下文信息来响应请求,则所有客户端都必须进行编码以提供此信息,从而打破作为WMI基础的统一访问模型。然而,在某些情况下,这是不可避免的。因此,提供这种机制以使得可以访问这样的提供者。这些提供商的开发人员应提供足够的文档,以便客户端软件的开发人员能够成功地操纵这样的CIM对象。

 

支持使用IWbemContext以允许客户端在请求中指定更多信息的提供商应将其支持的值的类型限制在以下列表中的类型:

 

·VT_I4
·VT_R8
·VT_BOOL
·VT_BSTR
·VT_UNKNOWN
·以上任何一种与VT_ARRAY相结合

 

注意只有支持IWbemClassObject的对象才能使用VT_UNKNOWN类型的变体在IWbemContext实例中编组IUnknown方法。

 

使用CoCreateInstanceEx创建的IWbemContext对象是一个名为值的简单容器。访问这些方法以填充动态提供程序所需的上下文信息。在调用IWbemServices方法之一后,IWbemContext对象可以重新用于另一个调用,或者可以使用发布解除分配,另一个对于为IWbemServices方法的其他调用创建的对象。

 

IWbemContext对象中包含的信息完全由底层提供程序决定。WMI不使用该信息,而是转发给提供商。提供商必须发布他们为这些服务请求所需的上下文信息。

 

客户端应用程序调用{??989796152}以创建单个上下文对象。然后,它会一次或多次调用SetValue来设置提供程序的上下文值。最后,它将对象提交给IWbemServices方法之一,该方法在调用返回后立即调用上下文对象的发布.其他方法主要由接收上下文对象并且必须提取信息的提供者使用。

 

要求

 

客户

需要Windows Vista,Windows XP,Windows 2000 Professional或Windows NT Workstation 4.0 SP4及更高版本。

服务器

需要Windows Server 2008,Windows Server 2003或Windows 2000 Server。

在Wbemcli.inc中声明。

DLL

需要Esscli.dll。