共用方式為


實作 High-Performance 介面

因為 WMI 會將高效能提供者載入至 WMI 或用戶端應用程式,所以您必須將高效能提供者設計為同進程伺服器。 此外,您必須在 IWbemHiPerfProviderIWbemRefresher 介面中實作高效能提供者方法。

您應該將高效能提供者實作為同進程伺服器。 實作進程伺服器安全性時,您應該注意的一項功能是提供者如何識別自己的位置。 載入至 WMI 的進程中時,WMI 會使用 CLSID 具現化提供者。 載入至用戶端應用程式時,用戶端應用程式會使用 ClientLoadableCLSID 屬性具現化提供者。 藉由為 CLSID 和 ClientLoadableCLSID提供不同的值,您可以允許提供者判斷它是否在 WMI 或用戶端應用程式中載入進程。 如果位於 WMI 進程中,提供者應該使用 ClientLoadableCLSID執行任何必要的用戶端模擬。 如果位於用戶端進程中,提供者會繼承其所呼叫執行緒的存取權杖。 如需實作進程內伺服器的詳細資訊,請參閱 MSDN 的 COM 一節

身為同進程伺服器,高效能提供者會使用重新整理器物件來讓遠端用戶端的資料保持最新狀態。 下表列出您必須針對高效能提供者實作的方法。

方法 功能
IWbemHiPerfProvider::QueryInstances 查詢
IWbemHiPerfProvider::GetObjects 物件擷
IWbemHiPerfProvider::CreateRefresher 建立重新整理程式
IWbemHiPerfProvider::CreateRefreshableObject 建立可重新整理的實例物件
IWbemHiPerfProvider::CreateRefreshableEnum 建立可重新整理的列舉值
IWbemHiPerfProvider::StopRefreshing 停止重新整理列舉值或實例物件
IWbemRefresher::Refresh 建立重新整理程式

 

將執行個體提供者變成High-Performance提供者