WSPutUTF32Function (C 関数)

int WSPutUTF32Function(( WSLINK l , const unsigned int * s , int v , int n )

長さ v の名前 s を持つUTF-32でコード化された記号によって与えられる頭部と,n 個の引数を持つ関数を,l で指定されたWSTP接続に置く.

詳細

  • WSPutUTF32Function()への呼出しの後,その他のWSTP関数はその関数の引数を送信するために呼び出されなければならない.
  • UTF-32でコード化された関数名 s は,バイトオーダーマークで始まらなければならない.
  • v に保存された記号名 s の長さには,バイトオーダーマークを含まなければならない.
  • WSPutUTF32Function()は,エラーが起った場合には0を,関数が成功した場合には非零の値を返す.
  • WSPutUTF32Function()が失敗した場合には,WSError()を使ってエラーコードを得るとよい.
  • WSPutUTF32Function()は,WSTPヘッダファイルwstp.hの中で宣言される.

例題

  (1)

#include "wstp.h"

/* A function to put List[1,2,3] to the link */

void f(WSLINK l)
{
    unsigned int name[5];

    name[0] = 0xFEFF;
    name[1] = 'L';
    name[2] = 'i';
    name[3] = 's';
    name[4] = 't';

    if(! WSPutUTF32Function(l, (const unsigned int *)name, 5, 3))
    { /* Unable to write the function to the link */ }

    if(! WSPutInteger8(l, 1))
    { /* Unable to write 1 to the link */ }

    if(! WSPutInteger8(l, 2))
    { /* Unable to write 2 to the link */ }

    if(! WSPutInteger8(l, 3))
    { /* Unable to write 3 to the link */ }

    if(! WSEndPacket(l))
    { /* Unable to send the end-of-packet sequence to the link */ }

    if(! WSFlush(l))
    { /* Unable to flush the outbound data to the link */ }
}