次の方法で共有


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 値へのポインター。 コントロール ポイントは、 EndSubscribeToEvents または CancelAsyncOperation を使用して操作を終了または取り消す際に、このハンドルを使用する必要があります。

戻り値

成功すると S_OK を返します。 それ以外の場合、メソッドは WinError.h で定義されている COM エラー コードまたは次のいずれかの値を返します。

リターン コード 説明
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