WSGetAvailableLinkProtocolNames (C 関数)

int WSGetAvailableLinkProtocolNames( WSENV env , char *** p , int * l )

WSTP環境 env からインストールリンクプロトコールの名前を含む文字列のリストを得て,文字列を p に,そして名前のリストの長さを l に保存する.

詳細

  • WSTPは,現在SharedMemory,TCPIP,IntraProcess,Pipes,FileMap,TCPのリンクプロトコール名をサポートする.
  • すべてのリンクプロトコールがすべてのプラットフォームで利用できるとは限らない.
  • <プラットフォーム><プロトコール>
    LinuxSharedMemory, TCPIP, Intraprocess, Pipes, TCP
    WindowsSharedMemory, TCPIP, IntraProcess, FileMap, TCP
    OS XSharedMemory, TCPIP, IntraProcess, Pipes, TCP
  • WSGetAvailableLinkProtocolNames()は,メモリを割り当てて,WSReleaseLinkProtocolNames()を呼び出すことによって解放しなければならないプロトコール名のリストを保存する.WSGetAvailableLinkProtocolNames()がエラーを返す場合は,p の内容についてWSReleaseLinkProtocolNames()を呼び出してはならない.
  • WSGetAvailableLinkProtocolNames()は,成功した場合には0を,失敗した場合には非零のエラーコードを返す.
  • WSGetAvailableLinkProtocolNames()は,WSTPヘッダファイルwstp.hの中で宣言される.

例題

  (1)

#include "wstp.h"

int main()
{
    WSENV env;
    char **protocolNames;
    int length;
    int apiResult;

    env = WSInitialize((WSEnvironmentParameter)0);
    if(env == (WSENV)0)
    { /* Unable to create WSTP environment */ }

    apiResult = WSGetAvailableLinkProtocolNames(env, &protocolNames, &length);
    if(apiResult != 0)
    { /* Unable to retrieve link protocol names */ }

    /* ... */

    WSReleaseLinkProtocolNames(env, protocolNames, length);

    WSDeinitialize(env);
}