IServiceProvider 介面 (servprov.h)
提供一般存取機制來找出 GUID 識別的服務。
繼承
IServiceProvider 介面繼承自 IUnknown 介面。
方法
IServiceProvider 介面具有這些方法。
IServiceProvider::QueryService 做為透過 IServiceProvider 實作公開之任何服務的 Factory 方法。 |
IServiceProvider::QueryService 做為透過 IServiceProvider 實作公開之任何服務的 Factory 方法。 接受 CLSID 參數。 |
備註
IServiceProvider 介面是一般存取機制,可尋找透過控件或服務可與其通訊的任何其他物件所提供的 GUID 識別服務。 例如,內嵌物件 (例如 OLE 控件) 通常會透過 IOleObject::SetClientSite 所提供的 IOleClientSite 介面,與容器中的相關聯用戶端網站對象通訊。 內嵌對象必須要求用戶端月臺提供容器在用戶端站台中未實作該服務時所支援的一些其他服務。
用戶端月臺必須提供一種方法,讓月臺所管理的控件在必要時可以存取服務。 例如,就地物件或控件可以使用 IOleInPlaceSite::GetWindowContext) 函式來存取包含網站的文件物件和包含檔的框架物件介面指標。 由於這些介面指標存在於不同的物件上,因此控件無法呼叫網站的 QueryInterface 來取得這些指標。 請改用 IServiceProvider 介面。
IServiceProvider 介面必須多載單一方法 QueryService,呼叫端會透過其中指定服務標識碼 (SID、GUID) 、要傳回之介面的 IID,以及呼叫埠指標變數的位址。 第二個多載會從傳遞至 方法的輸出指標推斷 IID。
此介面的 IID IID_IServiceProvider。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 組建 22000 |
最低支援的伺服器 | Windows 組建 22000 |
標頭 | servprov.h |