WSGetUTF16Function (C 函数)
int WSGetUTF16Function( WSLINK l , const unsigned short * s , int * v , int * n )
从由 l 指定的 WSTP 连接中获取函数,该函数带有用 UTF-16 编码形式来编码的作为标头的符号,该符号的名称存于 s,UTF-16 代码的长度存于 v,函数参数的数量存于 n.
更多信息
- WSGetUTF16Function() 分配对应于函数标头名称的字符字符串内存. 若要释放该内存,必须调用 WSReleaseUTF16Symbol(). 若 WSGetUTF16Function() 失败且函数的返回值说明存在错误,则不要调用有 s 内容的 WSReleaseUTF16Symbol().
- 程序不应修改字符字符串 s 的内容.
- WSGetUTF16Function() 返回的字符字符串由一个适合平台的字节顺序标记开始. 该字节顺序标记包括在长度值 v 中.
- WSGetUTF16Function(l, &s, &v, &n) 与 WSGetNext(l); WSGetArgCount(l, &n); WSGetUTF16Symbol(l, &s, &v, &c) 的效果相同,其中 c 表示 s 中被编码的字符数量.
- 若发生错误,则 WSGetUTF16Function() 返回0;若函数成果,则返回非零值.
- 若 WSGetUTF16Function() 失败,可使用 WSError() 检索错误代码.
- WSTP 的标头文件 wstp.h 已对 WSGetUTF16Function() 作出声明.
范例
基本范例 (1)
#include "wstp.h"
/* read a function from a link */
void f(WSLINK l)
{
const unsigned short *s;
int length;
int n;
if(! WSGetUTF16Function(l, &s, &length, &n))
{ /* Unable to read the function from the link */ }
/* ... */
WSReleaseUTF16Symbol(l, s, length);
}