WSStopBrowsingForLinkServices (C 関数)
void WSStopBrowsingForLinkServices(WSENV e,WSServiceRef r)
r で参照されるWSTP ネットワークリンクサービスのブラウズ操作を終了する.
詳細
- リンクサービスのブラウズは,基本的に非同期操作である.WSBrowseForLinkServices()を呼び出してブラウズ操作を開始する.WSTPライブラリは,ネットワークブラウジングイベントが起ったときに,提供されたコールバック関数 f に対してコールバックを行う.WSBrowseForLinkServices()は,ブラウズ操作が完了するまで待たない.ブラウズ操作が開始してすぐに呼出し側に返す.
- プログラムがWSStopBrowsingForLinkServices()を呼び出すか,オペレーティングシステムのサービスブラウジング構造でエラーが起るかするまで,ネットワークブラウズ操作は続行される.
- WSBrowseForLinkServices()で登録したブラウズコールバック関数がエラーフラッグWSSDBROWSEERRORを受け取った場合には,WSStopBrowsingForLinkServices()を呼び出してブラウズ操作を停止する.
- 一旦プログラムがWSStopBrowsingForLinkServices()を呼び出すと,その後キャッシュされた任意のサービス名は無効化または削除されるべきである.
- 参照オブジェクト r は,WSBrowseForLinkServices()が返すオブジェクトと同じでなければならない.
例題
例 (1)
#include "wstp.h"
void BrowseCallbackFunction(WSENV e, WSServiceRef ref, const char *serviceName, void *context);
void manageBrowseOperation(WSENV e)
{
WSServiceResult theRef;
int apiResult = 0;
apiResult = WSBrowseForLinkServices(e, BrowseCallbackFunction, NULL /* Use the default browse domain */, NULL /* do not use a context object in this example */, &theRef);
if(apiResult != 0)
{ /* Handle the error */ }
/* ... */
WSStopBrowsingForLinkServices(e, theRef);
}
void BrowseCallbackFunction(WSENV e, WSServiceRef ref, const char *serviceName, void *context)
{
...
}