(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 結合
IWbemContext 物件中包含的資訊完全由基礎提供者決定。 WMI 不會使用資訊,而是將它轉送到提供者。 提供者必須發佈這些服務要求所需的內容資訊。
用戶端應用程式會呼叫 CoCreateInstanceEx 來建立單一內容物件。 然後,它會呼叫 SetValue 一或多次來設定提供者的內容值。 最後,它會將物件提交至其中一個 IWbemServices 方法,該方法會在呼叫傳回之後立即在內容物件上呼叫 Release 。 其他方法主要是供接收內容物件的提供者使用,而且必須擷取資訊。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | wbemcli.h (包含 Wbemidl.h) |