IUPnPDeviceFinder::CreateAsyncFind メソッド (upnp.h)
CreateAsyncFind メソッドは、非同期検索操作を作成します。
構文
HRESULT CreateAsyncFind(
[in] BSTR bstrTypeURI,
[in] DWORD dwFlags,
[in] IUnknown *punkDeviceFinderCallback,
[out] LONG *plFindData
);
パラメーター
[in] bstrTypeURI
検索する UNIFORM リソース識別子 (URI) を指定します。
[in] dwFlags
0 を指定します。 このパラメーターは将来使用するために予約されています。
[in] punkDeviceFinderCallback
この非同期検索の結果を通信するために UPnP フレームワークが使用する必要があるコールバックを指定する IUnknown インターフェイス オブジェクトへの参照。
pUnkCallback によって参照されるオブジェクトは、IUPnPDeviceFinderCallback インターフェイスまたは IDispatch インターフェイスをサポートする必要があります。 pUnkCallback によって参照されるオブジェクトは、IUPnPDeviceFinderCallback インターフェイスに加えて、IUPnPDeviceFinderAddCallbackWithInterface インターフェイスをサポートする場合があります。
[out] plFindData
この特定の検索の識別子を受け取る LONG への参照。 アプリケーションは、呼び出される他の非同期検索メソッドにこの識別子を指定する必要があります。
戻り値
メソッドが成功した場合、戻り値はS_OK。 それ以外の場合、メソッドは WinError.h で定義されている COM エラー コードのいずれかを返します。
注釈
このメソッドは直ちに を返します。UPnP フレームワークは、 pUnkCallback で指定されたコールバックを使用して、検索結果を呼び出し元に通知します。 このメソッドは検索識別子を返します。呼び出し元は、 IUPnPDeviceFinder::StartAsyncFind を使用して実際に検索を開始する必要があります。
C++ では、 pUnkCallback によって参照されるオブジェクトは 、IUPnPDeviceFinderCallback インターフェイスまたは IDispatch インターフェイスのいずれかをサポートする必要があります。 必要に応じて、pUnkCallback によって参照されるオブジェクトは、IUPnPDeviceFinderCallback インターフェイスに加えて、IUPnPDeviceFinderAddCallbackWithInterface インターフェイスをサポートする場合があります。 UPnP フレームワークは、最初に pUnkCallback に対して IUPnPDeviceFinderAddCallbackWithInterface インターフェイスを照会します。 インターフェイスがサポートされていない場合、UPnP フレームワークは次に pUnkCallback に IUPnPDeviceFinderCallback インターフェイスを照会します。 サポートされていない場合、UPnP フレームワークは pUnkCallback に IDispatch インターフェイスを照会します。 IDispatch インターフェイスがサポートされていない場合、UPnP フレームワークはE_FAILを返します。
VBScript では、2 番目の引数は GetRef(funcname) である必要があります。 ここで、funcname はコールバック サブルーチンの名前です。
Visual Basic では、コールバック関数を 3 つのパラメーターで宣言する必要があります。 コールバック関数は、各パラメーターに指定された値を使用します。
- param1 は、新しいデバイスの Device オブジェクトです。 param3 が 0 の場合にのみ有効です。
- param2 は、検出または削除されたデバイスの UDN です。 param3 が 0 または 1 の場合にのみ有効です。
- param3 はコールバックの種類です。 有効な値は次のとおりです。
- 0 — 新しいデバイスを示します。
- 1 — デバイスが削除されたことを示します。
- 2 : 検索が完了したことを示します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | サポートなし |
対象プラットフォーム | Windows |
ヘッダー | upnp.h |
[DLL] | Upnp.dll |