共用方式為


控制裝置

UPnP 型裝置是由其公開的服務所控制。 UPnP 服務是 UPnP 架構中最小的可控制實體。 裝置會針對其執行的每個主要函式公開一項服務。 複雜的裝置通常由數個簡單服務和其他裝置所組成。

服務包含一組狀態變數,以及一組應用程式可以叫用以在這些狀態變數上運作的動作。 在具有 UPnP 技術的控制點 API 中,服務會以公開IUPnPService介面的服務物件表示。

服務類型會定義特定服務所支援的狀態變數和動作。 例如,時鐘服務的服務類型會定義 GetTimeSetTime 動作,以及 Time 狀態變數。

服務識別碼可區分單一裝置內的多個常見服務類型。 例如,一個時鐘可以有兩個時鐘服務,一個用於一般時鐘,另一個用於鬧鐘。 必須有一種方式可以區分兩個具有相同服務類型的服務。 服務識別碼提供唯一的方式來識別服務類型的實例。 然後,此服務識別碼可用來從 IUPnPServices 集合存取正確的服務,因為服務類型不是唯一識別碼。 IUPnPService介面也允許應用程式向服務物件註冊回呼函式。 當服務的狀態變數值變更時,服務物件會叫用已註冊的回呼,以通知應用程式變更。 UPnP 架構也會叫用此回呼,以在服務實例無法使用時通知應用程式。 服務可能會因為各種原因而無法使用,包括暫時性網路失敗。

如需詳細資訊,請參閱下列主題: