IUPnPService::AddCallback 方法 (upnp.h)
AddCallback 方法會向 UPnP 架構註冊應用程式的回呼。
語法
HRESULT AddCallback(
[in] IUnknown *pUnkCallback
);
參數
[in] pUnkCallback
指定包含要註冊之回呼之介面的參考。 pUnkCallback 所參考的對象必須支援 IUPnPServiceCallback 介面或 IDispatch 介面。
傳回值
如果方法成功,傳回值會S_OK。 否則,方法會傳回 WinError.h 中定義的其中一個 COM 錯誤碼。
備註
請勿從回呼內呼叫此方法;記憶體損毀發生。
如果已註冊多個回呼,UPnP 架構會循序叫用回呼。
pUnkCallback 所參考的對象必須支援 IUPnPServiceCallback 介面或 IDispatch 介面。 AddCallback 方法會先查詢 IUPnPServiceCallback 介面的 pUnkCallback。 如果不支援此介面,AddCallback 方法會查詢 iDispatch 介面的 pUnkCallback。 如果不支援 IDispatch 介面,則兩個檢查都失敗, 且 AddCallback 方法會傳回E_FAIL。
如果只支援 IDispatch , 服務物件 會呼叫 IDispatch::Invoke ,並將分派標識元指定為零來叫用回呼,這表示預設方法。 這個預設 的 IDispatch 方法會傳遞與 IUPnPServiceCallback 方法相同的參數,但傳遞的第一個參數是指出叫用回呼原因的字元串。 有效值為 VARIABLE_UPDATE和 SERVICE_INSTANCE_DIED。
這個方法具有下列自變數:
- 叫用回呼的原因。 因為狀態變數已變更 (VARIABLE_UPDATE) 或服務實例無法使用 (SERVICE_INSTANCE_DIED) ,所以會叫用它。
- 叫用回呼的服務物件。
如果針對狀態變數變更叫用回呼,則會傳遞兩個額外的自變數:
- 已變更之變數的名稱。
- 新值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | upnp.h |
Dll | Upnp.dll |