WSInterfaceFromLinkServer (C 関数)
const char * WSInterfaceFromLinkServer(WSLinkServer s, int *err)
リンクサーバ s で使われるインターフェースのIPアドレスを含むCスタイルの文字列を返す.
詳細
- WSInterfaceFromLinkServer()は,WSTPライブラリが所有するメモリを返す.プログラムは,このメモリを変更してはならない.インターフェースの文字列を使い終わったときに,このプログラムは,メモリをWSReleaseInterfaceFromLinkServer()への呼出しとともにWSTP ライブラリに再び返さなければならない.
- WSInterfaceFromLinkServer()でエラーが起った場合には,err 内のエラーの値が返され,(const char *)0が返される. WSInterfaceFromLinkServer()が成功した場合には,err にはゼロが含まれる.
- エラーの条件を示す非零の値は,wstp.h内のWSEエラーコードに対応し,WSError()で返されるものと同じである.
例題
例 (1)
#include <stdlib.h> /* For malloc, free */
#include <string.h> /* For memset,memcpy */
#include "wstp.h"
void getInterfaceForLinkServer(WSLinkServer server)
{
char *buffer;
size_t length;
const char *interface;
int error;
interface = WSInterfaceFromLinkServer(server, &error);
if(interfaced == (const char *)0 || error != WSEOK)
{ /* Handle error */ }
length = strlen(interface);
buffer = (char *)malloc((length + 1) * sizeof(char));
if(buffer == (char *)0)
{ /* Handle out of memory condition */ }
memset((void *)buffer, 0, (length + 1) * sizeof(char));
memcpy((void *)buffer, (void *)interface, length * sizeof(char));
WSReleaseInterfaceFromLinkServer(server, interface);
/* .. do something with buffer... */
free(buffer);
return;
}