MLGetLinkedEnvIDString (C 関数)

MLGetLinkedEnvIDStringWSGetLinkedEnvIDStringに置き換えられた.

int MLGetLinkedEnvIDString(MLINK link,const char **e)

link に接続されているMathLink環境の識別文字列を返し,それを e に保持する.

詳細

  • MLGetLinkedEnvIDString()は文字列 eid のためにメモリを割り当てる.このメモリを開放するためには,MLReleaseEnvIDString()を呼び出さなくてはならない.MLGetLinkedEnvIDString()が不成功で関数の返す値がエラーを示す場合には,e のコンテンツについてMLReleaseEnvIDString()を呼び出してはならない.
  • MLGetLinkedEnvIDString()は不変の文字列を返す.
  • MLGetLinkedEnvIDString()が返す環境識別はヌル終端のASCII文字列である.
  • MLGetLinkedEnvIDString()は,link が接続されるまで作動しない.
  • MLGetLinkedEnvIDString() はエラーがあると0を返し,関数が成功すると0以外の値を返す.
  • MLError()を使うと,MLGetLinkedEnvIDString()が不成功の場合にエラーコードを引き出すことができる.
  • MLGetLinkedEnvIDString()は,MathLinkヘッダファイルmathlink.hの中で宣言される.

例題

  (1)

#include <string.h>
#include "mathlink.h"

/* read the id from a link and check for "My Remote Program" */

#define ERROR -1

int f(MLINK lp)
{
    int isCorrectProg;
    const char *e;

    if(! MLGetLinkedEnvIDString(lp, &e))
        {
            /* unable to read the link id from lp */
            return ERROR;
        }

    isCorrectProg = strcmp(envid, "My Remote Program") == 0;

    MLReleaseEnvIDString(lp, e, length);

    return isCorrectProg;
}