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