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;
}