WSGetUCS2Function (C 関数)
int WSGetUSC2Function( WSLINK l , const unsigned short ** s , int * v , int * n )
l が指定するWSTP接続からのUCS2のコード化形式でコード化された頭部として,記号を含む関数を得て,記号の名前を s に,UCS2コードの長さを v に,関数の引数の数を n に保存する.
詳細
- WSGetUCS2Function()は,関数の頭部の名前に対応する文字列にメモリを割り当てる.このメモリを解放するためには,WSReleaseUCS2Symbol()を呼び出さなければならない.WSGetUCS2Function()が失敗し,関数の戻り値がエラーを示す場合には,s の内容に対してWSReleaseUCS2Symbol()を呼び出してはならない.
- プログラムは,文字列 s の内容を変更してはならない.
- WSGetUCS2Function(l, &s, &v, &n)は,WSGetNext(l); WSGetArgCount(l, &n); WSGetUCS2Symbol(l, &s, &i)と同じ効果がある.
- WSGetUCS2Function()は,エラーがあった場合には0を返し,関数が成功した場合には非零の値を返す.
- WSGetUCS2Function()が失敗した場合には,WSError()を使ってエラーコードを得るとよい.
- WSGetUCS2Functionは,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (1)
#include "wstp.h"
/* read a function from a link */
void f(WSLINK l)
{
const unsigned short *s;
int codes;
int n;
if(! WSGetUCS2Function(l, &s, &codes, &n))
{ /* Unable to read the function from the link */ }
/* ... */
WSReleaseUCS2Symbol(l, s, codes);
}