IWbemServices::OpenNamespace 方法 (wbemcli.h)
IWbemServices::OpenNamespace 方法會提供呼叫端新的 IWbemServices 指標,此指標具有指定的子命名空間作為其作業內容。 透過新指標的所有作業,例如類別或實例建立,只會影響該命名空間。 命名空間必須是呼叫這個方法之目前 物件的子命名空間。
語法
HRESULT OpenNamespace(
[in] const BSTR strNamespace,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IWbemServices **ppWorkingNamespace,
[out] IWbemCallResult **ppResult
);
參數
[in] strNamespace
目標命名空間的路徑。 如需詳細資訊,請參閱 在WMI中建立階層。 此命名空間只能相對於與 IWbemServices 介面指標相關聯的目前命名空間。 此參數不能是絕對路徑或 NULL。
[in] lFlags
這個參數可以設定為 0,以進行同步呼叫。 若要將此設為半異步呼叫,請將 lFlags 設定為 WBEM_FLAG_RETURN_IMMEDIATELY,為 ppResult 參數提供有效的指標,而且此呼叫會立即傳回。 如需詳細資訊,請參閱 呼叫方法。
[in] pCtx
保留的。 此參數必須是 NULL。
[out] ppWorkingNamespace
接收 表示新命名空間內容的物件。 傳回的指標具有正參考計數。 當不再需要時,呼叫端必須在此指標上呼叫 Release 。 發生錯誤時,此指標會設定為 NULL 。 如果指定此參數, 則 ppResult 必須是 NULL。
[out] ppResult
通常 為 NULL。 如果不是 NULL, 則 ppWorkingNamespace 必須是 NULL。 在此情況下,參數會接收新 IWbemCallResult 物件的指標。 如果 lFlags 參數設定為 WBEM_FLAG_RETURN_IMMEDIATELY 此呼叫會立即傳回。 然後呼叫端可以定期輪詢 IWbemCallResult::GetResultServices 方法,直到要求的命名空間指標變成可用為止。 此參數設定為在發生錯誤且未傳回新物件時指向 NULL 。
傳回值
這個方法會傳回 HRESULT ,指出方法呼叫的狀態。 下列清單列出 HRESULT 中包含的值。
失敗時,您可以從 COM 函式 GetErrorInfo 取得任何可用資訊。
如果網路問題造成您失去 Windows 管理遠端連線,也可能傳回 COM 特定的錯誤碼。
備註
IWbemLocator::ConnectServer 方法也可以用來開啟相同的命名空間。 唯一的差別在於 OpenNamespace 方法可讓您將相對物件路徑放在 Namespace 參數中,以遞歸方式開啟子命名空間; IWbemLocator::ConnectServer 需要完整的對象路徑。 如需詳細資訊,請參閱 描述 WMI 命名空間對象路徑。
例如,如果與 IWbemServices 介面指標相關聯的目前命名空間是根目錄,則在 Namespace 參數中使用 Default 會產生系結至 root\default 命名空間的新指標。
呼叫 Release 且參考計數達到 0 (零) 時,就會關閉命名空間。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | wbemcli.h (包含 Wbemidl.h) |
程式庫 | Wbemuuid.lib |
Dll | Fastprox.dll;Esscli.dll;FrameDyn.dll;FrameDynOS.dll;Ntevt.dll;Stdprov.dll;Viewprov.dll;Wbemcomn.dll;Wbemcore.dll;Wbemess.dll;Wbemsvc.dll;Wmipicmp.dll;Wmidcprv.dll;Wmipjobj.dll;Wmiprvsd.dll |