WSReleaseInterfaceFromLinkServer (C 関数)
void WSReleaseInterfaceFromLinkServer(WSLinkServer s, const char *i)
サーバ s のWSInterfaceFromLinkServer()への呼出しで,WSTPライブラリによって割り当てられたメモリ i を解放する.
詳細
- WSInterfaceFromLinkServer()は,メモリを割り当てて,リンクサーバ接続に使われたインターフェースのIPアドレスを含むC言語スタイルの文字列を返す.このメモリは,プログラムがいったん使い終わったら,ライブラリがこのメモリを取り戻すことができるように,WSTPライブラリに返されなければならない.
- インターフェースの文字列 i は,WSInterfaceFromLinkServer()から返されるC言語スタイルの文字列へのポインタでなければならない.
- プログラムは,i で表される文字列に対して,無駄に呼出しをかけてはならない.
例題
例 (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;
}