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;若函数成功,则返回非零值.
- 若 WSGetLinkedEnvIDString() 失败,则使用 WSError() 检索错误代码.
- WSTP 的标头文件 wstp.h 已对 WSGetLinkedEnvIDString() 作出声明.
范例
基本范例 (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;
}