WSGetLinkedEnvIDString (C 関数)
int WSGetLinkedEnvIDString(WSLINK link,const char **e)
link に接続されているWSTP環境の識別文字列を返し,それを e に保持する.
詳細
- WSGetLinkedEnvIDString()は文字列 eid のためにメモリを割り当てる.このメモリを開放するためには,WSReleaseEnvIDString()を呼び出さなくてはならない.WSGetLinkedEnvIDString()が不成功で関数の返す値がエラーを示す場合には,e のコンテンツについてWSReleaseEnvIDString()を呼び出してはならない.
- WSGetLinkedEnvIDString()は不変の文字列を返す.
- WSGetLinkedEnvIDString()が返す環境識別はヌル終端のASCII文字列である.
- WSGetLinkedEnvIDString()は,link が接続されるまで作動しない.
- WSGetLinkedEnvIDString()はエラーがあると0を返し,関数が成功すると0以外の値を返す.
- WSError()を使うと,WSGetLinkedEnvIDString()が不成功の場合にエラーコードを引き出すことができる.
- WSGetLinkedEnvIDString()は,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (1)
#include <string.h>
#include "wstp.h"
/* read the id from a link and check for "My Remote Program" */
#define ERROR -1
int f(WSLINK lp)
{
int isCorrectProg;
const char *e;
if(! WSGetLinkedEnvIDString(lp, &e))
{
/* unable to read the link id from lp */
return ERROR;
}
isCorrectProg = strcmp(envid, "My Remote Program") == 0;
WSReleaseEnvIDString(lp, e, length);
return isCorrectProg;
}