描述
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。 |