共用方式為


IUPnPServiceAsync::BeginSubscribeToEvents 方法 (upnp.h)

BeginSubscribeToEvents 會以異步模式起始事件訂閱,並使用 UPnP 架構註冊應用程式回呼。

語法

HRESULT BeginSubscribeToEvents(
  [in]           IUnknown         *pUnkCallback,
  [in, optional] IUPnPAsyncResult *pAsyncResult,
  [out]          PULONG64         pullRequestID
);

參數

[in] pUnkCallback

指定介面對象的參考,其中包含要註冊的回呼。 這個對象必須支援 IUPnPServiceCallback 介面或 IDispatch 介面。

[in, optional] pAsyncResult

指定 IUPnPAsyncResult 對象的參考。 當 BeginSubscribeToEvents 呼叫完成時,UPnP 會使用 IUPnPAsyncResult::AsyncOperationComplete 方法來通知控制點。

[out] pullRequestID

用來識別異步 I/O 作業的 64 位 ULONG 值的指標。 控制點必須在結束或取消作業時,透過 EndSubscribeToEventsCancelAsyncOperation 使用此句柄。

傳回值

傳回成功 時S_OK 。 否則,此方法會傳回 WinError.h 或下列其中一個值中定義的 COM 錯誤碼:

傳回碼 Description
E_FAIL
無法起始異步操作。
 
注意 某些值可能表示從 UPnP 認證的裝置收到錯誤。 如需詳細資訊,請參閱 裝置錯誤碼
 

備註

使用 BeginQueryStateVariable 查詢任何事件狀態變數之前,應該先完成事件訂閱。 如果未發生此情況,則會傳回 UPNP_E_VARIABLE_VALUE_UNKNOWN ,而且事件訂閱會在內部進行。 因此,下一個 BeginQueryStateVariable 呼叫將會成功。

注意 對於沒有事件變數的服務, BeginQueryStateVariable 一律會如預期般運作。
 
多次呼叫此方法會導致新增多個回呼。

規格需求

需求
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 upnp.h
Dll Upnp.dll

另請參閱

IUPnPServiceAsync

IUPnPServiceAsync::CancelAsyncOperation

IUPnPServiceAsync::EndSubscribeToEvents