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 。

注意 請務必注意,當您使用此參數時,必須先將 ppResult 設定為指向 NULL ,再呼叫 方法。 這是 COM 規則。
 

傳回值

這個方法會傳回 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

另請參閱

在 WMI 內建立階層

IWbemLocator::ConnectServer

IWbemServices

擷取錯誤碼