WSReleaseUnicodeContainer (C 関数)
void WSReleaseUnicodeContainer(WSUnicodeContainer *c)
WSUnicodeContainerオブジェクト c を保存するのに使われるメモリを解放する.
詳細
- WSReleaseUnicodeContainer()は,WSTPテンプレートファイルでWSUnicodeContainerオブジェクトを作成したり破壊したりするために,WSNewUnicodeContainer()と一緒に使われる.WSUnicodeContainerは,テンプレートファイル内の関数間でUnicodeの文字列とその長さを渡すのに便利なオブジェクトである.
- ほとんどの場合,WSTPテンプレートファイルのプロセッサプログラムmprepが,自動的にWSReleaseUnicodeContainer()を呼び出すコードを生成する.
- WSReleaseUnicodeContainer()は,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (1)
#include "wstp.h"
/* A simple function for sending a Unicode string using a WSUnicodeContainer object */
void f(WSUnicodeContainer *container, WSLINK link)
{
if(container == (WSUnicodeContainer *)0)
return;
switch(WSUnicodeStringType(container))
{
case UCS2ContainerType:
if(! WSPutUCS2String(link, WSUCS2String(container),
WSUnicodeStringLength(container)))
{ /* Unable to send the UCS-2 encoded string */ }
break;
case UTF8ContainerType:
if(! WSPutUTF8String(link, WSUTF8String(container),
WSUnicodeStringLength(container)))
{ /* Unable to send the UTF-8 encoded string */ }
break;
case UTF16ContainerType:
if(! WSPutUTF16String(link, WSUTF16String(container),
WSUnicodeStringLength(container)))
{ /* Unable to send the UTF-16 encoded string */ }
break;
case UTF32ContainerType:
if(! WSPutUTF32String(link, WSUTF32String(container),
WSUnicodeStringLength(container)))
{ /* Unable to send the UTF-32 encoded string */ }
break;
}
WSReleaseUnicodeContainer(container);
}