共用方式為


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

另請參閱

IUPnPService

IUPnPServiceCallback