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)
{
    ...
}