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

擷取錯誤碼