UPnP API
UPnP API 技術的概觀。
若要開發 UPnP API,您需要下列標頭:
如需這項技術的程式設計指引,請參閱:
中止 Abort 方法會停止由 IUPnPDescriptionDocument::LoadAsync 啟動的非同步載入作業。 |
AddCallback AddCallback 方法會向 UPnP 架構註冊應用程式的回呼。 |
AddRequestHeaders 將提供的 HTTP 標頭新增至 HTTP 要求。 |
建議 建議方法是由裝置主機叫用,以開始接收來自託管服務的事件。 |
AsyncOperationComplete AsyncOperationComplete 回呼方法會提供非同步 I/O 作業完成的通知。 |
BeginInvokeAction BeginInvokeAction 方法會在非同步模式的裝置上叫用動作。 此外,如果加入宣告延遲的 SCPD 下載和事件訂用帳戶,而且尚未進行,這個方法將會起始 SCPD 下載。 |
BeginQueryStateVariable BeginQueryStateVariable 方法會從特定服務起始狀態變數值的非同步要求。 |
BeginSCPDDownload BeginSCPDDownload 方法會起始服務控制通訊協定描述 (SCPD) 檔的非同步下載。 |
BeginSubscribeToEvents BeginSubscribeToEvents 會以非同步模式起始事件訂閱,並使用 UPnP 架構註冊應用程式回呼。 |
CancelAsyncFind CancelAsyncFind 方法會取消非同步搜尋。 |
CancelAsyncOperation CancelAsyncOperation 方法會取消 BeginInvokeAction、BeginQueryStateVariable、BeginSubscribeToEvents 或 BeginSCPDDownload 方法所起始的暫止非同步作業。 |
CreateAsyncFind CreateAsyncFind 方法會建立異步搜尋作業。 |
DeviceAdded UPnP 架構會叫用 DeviceAdded 方法,以通知應用程式裝置已新增至網路。 |
DeviceAddedWithInterface UPnP 架構會叫用 DeviceAddedWithInterface 方法,以通知應用程式裝置已新增至網路。 |
DeviceByUDN DeviceByUDN 方法會傳回具有指定唯一裝置名稱的裝置, (UDN) 包含在載入的描述檔中。 |
DeviceRemoved UPnP 架構會叫用 DeviceRemoved 方法,以通知應用程式裝置已從網路中移除。 |
EndInvokeAction EndInvokeAction 方法會擷取先前 BeginInvokeAction 作業的結果,並擷取產生的輸出引數。 |
EndQueryStateVariable EndQueryStateVariable 方法會擷取先前 BeginQueryStateVariable 作業的結果,並擷取結果服務特定的狀態變數值。 |
EndSCPDDownload EndSCPDDownload 方法會擷取先前非同步下載服務控制通訊協定描述 (SCPD) 檔的結果。 |
EndSubscribeToEvents EndSubscribeToEvents 方法會擷取先前 BeginSubscribeToEvents 作業的結果。 |
FindByType FindByType 方法會依裝置類型或服務類型同步搜尋裝置。 |
FindByUDN FindByUDN 方法會依其唯一裝置名稱 (UDN) ,以同步方式搜尋裝置。 |
get__NewEnum _NewEnum 屬性會指定集合的 IEnumVARIANT 或 IEnumUnknown 列舉值介面。 (IUPnPDevices.get__NewEnum) |
get__NewEnum _NewEnum 屬性會指定集合的 IEnumVARIANT 或 IEnumUnknown 列舉值介面。 (IUPnPServices.get__NewEnum) |
get_Children Children 屬性會指定裝置的所有子裝置。 這些裝置會儲存在 IUPnPDevices 集合中。 |
get_Count Count 屬性會指定集合中的裝置數目。 |
get_Count Count 屬性會指定集合中的服務數目。 |
get_Description Description 屬性會指定裝置功能的人類可讀摘要。 |
get_FriendlyName FriendlyName 屬性會指定裝置的裝置顯示名稱。 |
get_HasChildren HasChildren 屬性會指定裝置是否有任何子裝置。 |
get_Id Id 屬性會指定服務的服務識別碼。 |
get_IsRootDevice IsRootDevice 屬性會指定裝置是否為裝置樹狀結構中最上層的裝置。 |
get_Item Item 屬性會指定集合中 UDN 所識別之裝置的 IUPnPDevice 介面。 |
get_Item Item 屬性會指定集合中服務識別碼所識別之服務的 IUPnPService 介面。 |
get_LastTransportStatus 對於與事件變數相關的查詢,LastTransportStatus 屬性會指定最後一個 IUPnPService::InvokeAction 作業的 HTTP 狀態。 |
get_LoadResult LoadResult 屬性會指定已完成載入作業的成功或失敗碼。 |
get_ManufacturerName ManufacturerName 屬性會指定裝置製造商名稱的人類可讀形式。 |
get_ManufacturerURL ManufacturerURL 屬性會指定制造商網站的 URL。 |
get_ModelName ModelName 屬性會指定裝置模型名稱的人類可讀取形式。 |
get_ModelNumber ModelNumber 屬性會指定裝置型號的人類可讀取形式。 |
get_ModelURL ModelURL 屬性會指定包含裝置模型特定資訊的網頁 URL。 |
get_ParentDevice ParentDevice 屬性會指定裝置的父系。 |
get_PresentationURL PresentationURL 屬性會指定控制裝置之網頁的簡報 URL。 |
get_ReadyState ReadyState 屬性會指定檔載入作業的狀態。 |
get_RootDevice RootDevice 屬性會指定裝置樹狀結構中最上層的裝置。 根裝置代表實體物件。 |
get_SerialNumber SerialNumber 屬性會指定裝置序號的人類可讀取形式。 |
get_Services Services 屬性會指定裝置所提供的服務清單。 |
get_ServiceTypeIdentifier ServiceTypeIdentifier 屬性會指定裝置的服務類型識別碼。 |
get_Type Type 方法會指定裝置的裝置類型統一資源識別項 (URI) 。 |
get_UniqueDeviceName UniqueDeviceName 屬性會指定裝置的唯一裝置名稱 (UDN) 。 UDN 是唯一的;沒有兩個裝置可以有相同的 UDN。 |
get_UPC 此 MSI 屬性會指定人類可讀取的產品名稱形式。 |
GetAddressFamily GetAddressFamily 方法會擷取 Device Finder 物件的位址系列旗標目前值。 |
GetDocument 擷取 UPnP 裝置的 XML 裝置描述檔。 |
GetDocument GetDocument 方法會擷取服務物件的服務控制通訊協定描述 (SCPD) 檔。 |
GetDocumentURL GetDocumentURL 方法會傳回可載入裝置描述檔的 URL。 |
GetDocumentURL GetDocumentURL 方法會擷取服務物件的服務控制通訊協定描述 (SCPD) URL。 使用此 URL,UPnP 控制點可以下載完整的 SCPD 檔。 |
GetDwordValue GetDwordValue 方法會取得 4 位元組值,提供要求或要求者的相關資訊。 |
GetGuidValue 目前不支援 GetGuidValue 方法。 |
GetServiceObject GetServiceObject 方法可用來取得特定服務物件的 IDispatch 指標。 裝置主機會針對每個服務叫用此方法一次,第一次收到服務的要求。 |
GetStringValue GetStringValue 方法會取得字串,提供要求或要求者的相關資訊。 |
GetUniqueDeviceName GetUniqueDeviceName 方法會擷取指定裝置的 UDN。 |
IconURL IconURL 方法會傳回 URL,您可以從中載入指定格式的圖示。 |
初始 化 Initialize 方法可用來初始化裝置。 裝置主機會叫用這個方法。 |
InvokeAction 在裝置上叫用方法。 |
載入 Load 方法會同步載入檔。 這個方法不會在載入作業完成之前,將控制權傳回給呼叫端。 |
LoadAsync LoadAsync 方法會以非同步方式載入檔。 這個方法會立即將控制權傳回給呼叫端,並使用指定的回呼在作業完成時通知呼叫端。 |
LoadComplete 當 UPnP 架構完成載入裝置描述時,會叫用 LoadComplete 方法。 |
OnStateChanged OnStateChanged 方法會將事件傳送至裝置主機,其中包含已變更狀態變數的 DISPID 清單。 裝置主機必須查詢服務物件,以取得已變更之每個狀態變數的新值。 |
OnStateChangedSafe OnStateChangedSafe 方法會使用已變更的 DISPID 清單,將事件傳送至裝置主機。 裝置主機必須查詢服務物件,以取得已變更之每個狀態變數的新值。 |
QueryStateVariable QueryStateVariable 方法會傳回指定服務狀態變數的值。 |
RegisterDevice RegisterDevice 方法會向裝置主機註冊裝置。 裝置資訊是由裝置主機所儲存。 然後,裝置主機會傳回裝置識別碼,併發布並宣告網路上的裝置。 |
RegisterDeviceProvider RegisterDeviceProvider 方法會向裝置主機註冊裝置提供者。 裝置提供者未在網路上發佈。 相反地,它會動態建立裝置,並使用 RegisterRunningDevice 進行註冊。 |
RegisterRunningDevice RegisterRunningDevice 方法會向裝置主機註冊執行中的裝置。 |
ReregisterDevice ReregisterDevice 方法會重新向裝置主機註冊裝置。 裝置資訊是由裝置主機所儲存。 然後,裝置主機會傳回裝置識別碼,併發布並宣告網路上的裝置。 |
ReregisterRunningDevice ReregisterRunningDevice 方法會重新向裝置主機註冊執行中的裝置。 |
RootDevice RootDevice 方法會傳回目前載入檔裝置樹狀結構的根裝置。 |
SearchComplete UPnP 架構會叫用 SearchComplete 方法,以通知應用程式已完成網路裝置的初始搜尋。 |
ServiceInstanceDied 當服務不再傳送事件時,會叫用 ServiceInstanceDied 方法。 |
SetAddressFamily SetAddressFamily 方法會設定 Device Finder 物件的位址系列旗標,此旗標會使用此旗標來篩選找到的裝置。 |
SetServiceEnumProperty SetServiceEnumProperty 方法可用來指出加入宣告延遲的服務控制通訊協定描述, (SCPD) 下載的 IUPnPService 物件,以及從 IUPnPServices 物件列舉的 IUPnPService 物件事件訂閱。 |
啟動 Start 方法會啟動裝置提供者。 裝置主機會在載入裝置提供者之後叫用這個方法。此方法會執行裝置提供者所需的任何初始化。 |
StartAsyncFind StartAsyncFind 方法會啟動非同步搜尋作業。 |
StateVariableChanged StateVariableChanged 方法會在狀態變數變更時叫用。 |
停止 Stop 方法會停止裝置提供者。 |
Unadvise 裝置主機會叫用 Unadvise 方法,以停止接收事件。 裝置主機會傳入叫用 IUPnPEventSource::Advise 方法時所執行的相同指標。 |
UnregisterDevice UnregisterDevice 方法會從裝置主機取消註冊裝置。 裝置暫時或永久取消註冊。 |
UnregisterDeviceProvider UnregisterDeviceProvider 方法會永久取消註冊,並從裝置主機卸載裝置提供者。 會叫用 IUPnPDeviceProvider::Stop 方法。 |
IUPnPAddressFamilyControl IUPnPAddressFamilyControl 介面會存取 Device Finder 物件的位址系列旗標。 |
IUPnPAsyncResult IUPnPAsyncResult 介面可用來通知 UPnP 控制點已完成的非同步 I/O 作業。 |
IUPnPDescriptionDocument IUPnPDescriptionDocument 介面可讓應用程式載入裝置描述。 |
IUPnPDescriptionDocumentCallback IUPnPDescriptionDocumentCallback 介面可讓 UPnP 架構將非同步載入作業的結果傳達給應用程式。 |
IUPnPDevice IUPnPDevice 介面可讓應用程式擷取特定裝置的相關資訊。 |
IUPnPDeviceControl IUPnPDeviceControl 介面是裝置及其服務物件的管理中心點。 |
IUPnPDeviceDocumentAccess IUPnPDeviceDocumentAccess 介面可讓應用程式取得裝置描述檔的 URL。 |
IUPnPDeviceDocumentAccessEx 提供方法來取得特定裝置的整個 XML 裝置描述檔。 |
IUPnPDeviceFinder IUPnPDeviceFinder 介面可讓應用程式尋找裝置。 |
IUPnPDeviceFinderAddCallbackWithInterface IUPnPDeviceFinderAddCallbackWithInterface 介面可讓 UPnP 架構與應用程式通訊 |
IUPnPDeviceFinderCallback IUPnPDeviceFinderCallback 介面可讓 UPnP 架構將非同步搜尋的結果傳達給應用程式。 |
IUPnPDeviceProvider IUPnPDeviceProvider 介面可讓裝置提供者啟動和停止其處理。 |
IUPnPDevices IUPnPDevices 介面會列舉裝置的集合。 |
IUPnPEventSink IUPnPEventSink 介面可讓託管服務將事件通知傳送至裝置主機。 |
IUPnPEventSource IUPnPEventSource 介面可讓裝置主機管理託管服務的事件訂閱。 |
IUPnPHttpHeaderControl 可讓呼叫端指定在 HTTP 要求中傳送至裝置的其他 HTTP 標頭。 |
IUPnPRegistrar IUPnPRegistrar 介面會註冊在裝置主機內容中執行的裝置。 |
IUPnPRemoteEndpointInfo IUPnPRemoteEndpointInfo 介面可讓裝載的裝置取得要求者 (的相關資訊,也就是控制點) 和要求。 |
IUPnPReregistrar IUPnPReregistrar 介面可讓應用程式向裝置主機重新註冊 UPnP 型裝置。 |
IUPnPService IUPnPService 介面可讓應用程式查詢狀態變數,並在服務的實例上叫用動作。 |
IUPnPServiceAsync 使用此介面,以非同步方式查詢狀態變數,並在服務的實例上叫用動作。 |
IUPnPServiceCallback IUPnPServiceCallback 介面可用來將事件通知傳送給服務物件的用戶端。 |
IUPnPServiceDocumentAccess 使用此介面來擷取並提供服務控制通訊協定描述 (SCPD) 檔給 UPnP 控制點應用程式,以公開服務支援的動作,並提供狀態變數的相關資訊。 |
IUPnPServiceEnumProperty 使用此介面來延遲服務控制通訊協定描述, (SCPD) 從 IUPnPServices 物件列舉的 IUPnPService 物件上下載和事件訂閱。 |
IUPnPServices IUPnPServices 介面會列舉服務的集合。 |