WSStopRegisteringLinkService (C 関数)

void WSStopRegisteringLinkService(WSENV e, WSLINK l, WSServiceRef r)

r によって参照されたWSTPネットワークリンクサービスの登録操作を終了し,リンク l を閉じる.

詳細

  • リンクサービス名を登録することは,基本的に非同期操作である.WSRegisterLinkService()WSRegisterLinkServiceWithHostname()WSRegisterLinkServiceWithPortAndHostname()は,登録操作を開始し,すぐに返す.WSTPライブラリは,登録の状況についてのアップデートとともにアプリケーションへのコールバックを行う.
  • リンクサービス名の登録は,プログラムがWSStopRegisteringLinkService()を呼び出すか,オペレーティングシステムのサービスブラウズシステムでエラーが起るかするまで実行し続けられる.
  • 一旦プログラムがWSStopRegisteringLinkService()を呼び出すと,そのサービスに関連する任意のキャッシュされたサービス名とリソースは,無効になるか削除されるかする.
  • 参照オブジェクト r は,WSRegisterLinkService()WSRegisterLinkServiceWithHostname()WSRegisterLinkServiceWithPortAndHostname()のいずれかが返すオブジェクトと同じでなければならない.

例題

  (1)

#include "wstp.h"

void RegisterCallbackFunction(WSENV e, WSServiceRef ref, const char *name, void *context);

void managerRegisterOperation(WSENV e, const char *serviceName)
{
    WSServiceRef theRef;
    WSLINK theLink;
    int error;

    theLink = WSRegisterLinkService(e, serviceName,
        RegisterCallbackFunction, NULL /* Use the default domain */,
        NULL /* No context for this example */, &theRef, &error);

    if(theLink == NULL || error != WSEOK)
    { /* Handle the error */ }

    /* ... */

    WSStopRegisteringLinkService(e, theLink, theRef);
}


void RegisterCallbackFunction(WSENV e, const char *name, void *context)
{
    ...
}