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

GetObject Method

Previous pageReturn to chapter overviewNext page

描述

 

IWbemServices.GetObject方法检索类或实例。此方法仅从与当前IWbemServices对象相关联的命名空间检索对象。

 

C++ 语法

 

HRESULT GetObject(

[in]   const BSTR strObjectPath,

[in]   LONG lFlags,

[in]   IWbemContext *pCtx,

[out]  IWbemClassObject **ppObject,

[out]  IWbemCallResult **ppCallResult

);

 

PowerBASIC 语法

 

METHOD GetObject ( _

BYVAL strObjectPath AS DWORD, _

BYVAL lFlags AS LONG, _

BYVAL pCtx AS IWbemContext, _

BYREF ppObject AS IWbemClassObject, _

BYREF ppCallResult AS IWbemCallResult _

) AS LONG

 

参数

 

strObjectPath

 

检索对象的路径。如果这是NULL,则返回一个可以成为新类的空对象。有关详细信息,请参阅创建一个类.

 

lFlags

 

以下标志影响此方法的行为。

 

含义

WBEM_FLAG_USE_AMENDED_QUALIFIERS

如果设置此标志,WMI将检索存储在当前连接的本地化名称空间中的修改后的限定符。如果未设置,则仅检索存储在立即命名空间中的限定符。

WBEM_FLAG_RETURN_WBEM_COMPLETE

该标志使其成为同步调用。

WBEM_FLAG_RETURN_IMMEDIATELY

这个标志使它成为一个半异步调用。您必须为ppCallResult参数提供有效的指针。

WBEM_FLAG_DIRECT_READ

该标志引起对指定类的提供者的直接访问,而不考虑其父类或子类。

 

pCtx

 

通常为NULL。否则,这是一个指向IWbemContext对象的指针,提供者可以使用该对象来返回所请求的类或实例。必须在提供程序的文档中指定上下文对象中的值。有关此参数的更多信息,请参阅拨打电话给WMI.

 

ppObject

 

如果不是NULL,则会收到该对象,如果找到该对象。返回的对象具有正的引用计数。当对象不再需要时,呼叫者必须使用发布.在所有错误的情况下,此参数设置为指向NULL。

 

ppCallResult

 

如果为NULL,则不使用此参数。如果LFLAGS参数包含WBEM_FLAG_RETURN_IMMEDIATELY,此调用将立即返回WBEM_S_NO_ERROR。ppCallResult参数接收一个指向新的IWbemCallResult对象的指针,然后可以使用GetCallStatus方法轮询获取结果。调用者可以调用IWbemCallResult.GetResultObject在对象可用时检索对象。

 

返回值

 

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

 

失败后,您可以从COM函数GetErrorInfo获取任何可用的信息。

 

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

 

退货代码

描述

WBEM_E_ACCESS_DENIED

当前用户没有访问对象的权限。

WBEM_E_FAILED

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

WBEM_E_INVALID_CLASS

指定的类不存在。

WBEM_E_INVALID_PARAMETER

指定了无效参数。

WBEM_E_INVALID_OBJECT_PATH

指定的路径无效。

WBEM_E_NOT_FOUND

找不到请求的对象。

WBEM_E_OUT_OF_MEMORY

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

WBEM_E_SHUTTING_DOWN

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

WBEM_E_TRANSPORT_FAILURE

这表示当前进程和Windows Management之间的远程过程调用(RPC)链接失败。

WBEM_S_NO_ERROR

通话成功。

 

要求

 

客户

需要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。