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

OpenNamespace Method

Previous pageReturn to chapter overviewNext page

描述

 

IWbemServices.OpenNamespace方法为调用者提供了一个新的IWbemServices指针,该指针具有指定的子命名空间作为其操作上下文。所有操作通过新的指针,如类或实例创建,只影响该命名空间。命名空间必须是调用此方法的当前对象的子命名空间。

 

C++ 语法

 

HRESULT OpenNamespace(

[in]   const BSTR strNamespace,

[in]   LONG lFlags,

[in]   IWbemContext *pCtx,

[out]  IWbemServices **ppWorkingNamespace,

[out]  IWbemCallResult **ppResult

);

 

PowerBASIC 语法

 

METHOD OpenNamespace ( _

BYVAL strNamespace AS DWORD, _

BYVAL lFlags AS LONG, _

BYVAL pCtx AS IWbemContext, _

BYREF ppWorkingNamespace AS IWbemServices, _

BYREF ppResult AS IWbemCallResult _

) AS LONG

 

参数

 

strNamespace

 

目标命名空间的路径。有关详细信息,请参阅在WMI中创建层次结构。此命名空间只能相对于与IWbemServices接口指针相关联的当前命名空间。此参数不能是绝对路径或NULL。

 

lFlags

 

该参数可以设置为0,使其成为同步调用。要使其成为一个半异步调用,请将LFLAGS设置为WBEM_FLAG_RETURN_IMMEDIATELY,为ppResult参数提供有效的指针,此调用将立即返回。有关详细信息,请参阅调用方法.

 

pCtx

 

保留。此参数必须为NULL。

 

ppWorkingNamespace

 

接收表示新命名空间上下文的对象。返回的指针具有正的引用计数。当不再需要时,主叫方必须在此指针上调用发布.当有错误时,此指针设置为NULL。如果指定了此参数,则ppResult必须为NULL。

 

ppResult

 

通常为NULL。如果不为NULL,则ppWorkingNamespace必须为NULL。在这种情况下,该参数接收一个指向新的IWbemCallResult对象的指针。如果LFLAGS参数设置为WBEM_FLAG_RETURN_IMMEDIATELY,则此调用将立即返回。然后调用者可以定期轮询IWbemCallResult.GetResultServices方法,直到所请求命名空间的指针变为可用。当出现错误并且不返回新对象时,此参数设置为NULL。

 

注意请注意,使用此参数时,必须在调用该方法之前将ppResult设置为NULL。这是一个COM规则。

 

返回值

 

此方法返回一个HRESULT,指示方法调用的状态。下表列出了HRESULT中包含的值。

 

失败时,您可以从COM功能GetErrorInfo获取任何可用的信息。

 

如果网络问题导致您失去与Windows Management的远程连接,也可能会返回COM特定的错误代码。

 

退货代码

描述

WBEM_E_ACCESS_DENIED

用户没有访问请求的命名空间的权限。

WBEM_E_FAILED

这表示其他未指定的错误。

WBEM_E_INVALID_NAMESPACE

指定的命名空间不存在。

WBEM_E_INVALID_PARAMETER

指定了无效的参数或无法解析命名空间。

WBEM_E_OUT_OF_MEMORY

没有足够的内存来完成操作。

WBEM_E_SHUTTING_DOWN

Windows管理服务可能已停止并重新启动。需要新的电话ConnectServer.

WBEM_E_TRANSPORT_FAILURE

当前进程和Windows管理之间的通信链接失败。

WBEM_S_NO_ERROR

通话成功。

 

备注

 

IWbemLocator.ConnectServer方法也可用于打开相同的命名空间。唯一的区别是,OpenNamespace方法允许您在Namespace参数中放置相对对象路径以递归地打开子命名空间; IWbemLocator.ConnectServer需要一个完整的对象路径。有关详细信息,请参阅描述WMI命名空间对象路径.

 

例如,如果与IWbemServices接口指针相关联的当前命名空间是root,则在命名空间参数中使用Default将生成绑定到root \\ default命名空间的新指针。

 

当调用发布并且引用计数达到0(零)时,命名空间关闭。

 

要求

 

客户

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

服务器

需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。

在Wbemcli.inc中声明。

DLL

需要Fastprox.dll。

需要Esscli.dll。

需要Framedyn.dll。

需要Ntevt.dll。

需要Stdprov.dll。

需要Viewprov.dll。

需要Wbemcomn.dll。

需要Wbemcore.dll。

需要Wbemess.dll。

需要Wbemsvc.dll。

需要Wmipicmp.dll。

需要Wmidcprv.dll。

需要Wmipjobj.dll。

需要Wmiprvsd.dll。