(wbemcli.h) 的 IWbemContext 介面

在提交 IWbemServices 呼叫 WMI 時,選擇性地使用 IWbemContext 介面將其他內容資訊傳達給提供者。 IWbemServices 中的所有主要呼叫都會採用指向此類型對象的選擇性參數。

繼承

IWbemContext 介面繼承自 IUnknown 介面。 IWbemContext 也有下列類型的成員:

方法

IWbemContext 介面具有這些方法。

 
IWbemContext::BeginEnumeration

IWbemContext::BeginEnumeration 方法會重設 物件中所有內容值的列舉。
IWbemContext::Clone

IWbemContext::Clone 方法會建立目前 IWbemContext 對象的邏輯複本。 當必須進行許多呼叫且具有大致相同的 IWbemContext 物件時,這個方法會很有用。
IWbemContext::D eleteAll

IWbemContext::D eleteAll 方法會移除目前 物件中的所有具名內容值,因而清空 物件。
IWbemContext::D eleteValue

IWbemContext::D eleteValue 方法會刪除 IWbemContext::SetValue 所建立的具名內容值。
IWbemContext::EndEnumeration

IWbemContext::EndEnumeration 方法會結束以 IWbemContext::BeginEnumeration 開頭的列舉序列。 不需要此呼叫,但會儘快釋放任何與 列舉相關聯的系統資源。
IWbemContext::GetNames

IWbemContext::GetNames 方法會傳回具名內容值所有名稱的 SAFEARRAY 結構。
IWbemContext::GetValue

IWbemContext::GetValue 方法可用來依名稱擷取特定的具名內容值。
IWbemContext::Next

IWbemContext::Next 方法會擷取所有以 IWbemContext::BeginEnumeration 開頭的內容值列舉中的下一個值。
IWbemContext::SetValue

IWbemContext::SetValue 方法會建立或覆寫具名內容值。

備註

動態提供者通常需要比 IWbemServices 方法的一般參數中所指定更多的資訊。 例如,若要操作它提供的任何 WMI 架構物件,提供者可能需要知道簡單的網路管理通訊協定 (SNMP) 社群名稱,或 結構化查詢語言 (SQL) (SQL) 資料庫和數據表名稱。 用戶端可以將這項資訊新增至 IWbemContext 物件,並傳送 IWbemContext 物件以及呼叫作為其中一個參數。

提供者應該謹慎使用內容物件。 建議絕對不需要。 如果提供者需要大量的高度特定內容資訊來回應要求,則所有客戶端都必須編碼以提供這項資訊,進而中斷 WMI 基礎的統一存取模型。 不過,在某些情況下,無法避免。 因此,系統會提供這項機制,讓其能夠存取這類提供者。 這類提供者的開發人員應該提供適當的檔,讓用戶端軟體的開發人員可以成功操作這類 CIM 物件。

支援使用 IWbemContext 來允許用戶端在要求中指定詳細資訊的提供者,應該將支援的值類型限制為下列清單中的類型:

  • VT_I4
  • VT_R8
  • VT_BOOL
  • VT_BSTR
  • VT_UNKNOWN
  • 上述任何與 VT_ARRAY 結合
注意只有支援 IWbemClassObject 的物件可以使用類型為 VT_UNKNOWN 的變體,封送處理 IWbemContext 實例中的 IUnknown 方法。
 
使用 CoCreateInstanceEx 建立的 IWbemContext 物件是具名值的簡單容器。 存取這些方法,以填入動態提供者所需的內容資訊。 呼叫其中一個 IWbemServices 方法之後,就可以針對另一個呼叫重複使用 IWbemContext 物件,或者可以使用 Release 和另一個針對 IWbemServices 方法呼叫所建立的物件解除分配。

IWbemContext 物件中包含的資訊完全由基礎提供者決定。 WMI 不會使用資訊,而是將它轉送到提供者。 提供者必須發佈這些服務要求所需的內容資訊。

用戶端應用程式會呼叫 CoCreateInstanceEx 來建立單一內容物件。 然後,它會呼叫 SetValue 一或多次來設定提供者的內容值。 最後,它會將物件提交至其中一個 IWbemServices 方法,該方法會在呼叫傳回之後立即在內容物件上呼叫 Release 。 其他方法主要是供接收內容物件的提供者使用,而且必須擷取資訊。

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wbemcli.h (包含 Wbemidl.h)

另請參閱

適用於 WMI 的 COM API

使用 C++ 建立和宣告實例

呼叫 WMI

在 64 位平臺上要求 WMI 數據

擷取 WMI 實例的一部分