ページの先頭行へ戻る
Interstage Shunsaku Data Manager V9.0.6 アプリケーション開発ガイド
FUJITSU Software

N.4 shunsearch2

機能

入力パラメタを基に検索を行い、検索結果を呼出し元に通知します。


記述形式

#include         “libshun.h”
int     shunsearch2(
        char     *host_Name,       /* in  (1)ホスト名                    */
        int      Port_No,          /* in  (2)ポート番号                  */
        int      Reply_No,         /* in  (3)返信開始番号                */
        int      Request_Cnt,      /* in  (4)返信要求件数                */
        char     *Query,           /* in  (5)検索式領域                  */
        char     *Return,          /* in  (6)リターン式領域              */
        char     *Reserve1,        /* in  (7)リザーブ(NULL)              */
        char     *Reserve2,        /* in  (8)リザーブ(NULL)              */
        int      Secure_Size,      /* in  (9)返信データ格納領域サイズ     */
        int      *Hit_Cnt,         /* out (10)ヒット件数                 */
        int      *Return_Cnt,      /* out (11)応答返信件数               */
        int      *Stored_Size,     /* out (12)返信データ格納済領域サイズ  */
        Sdsma    *Dsma,            /* out (13)返信データ格納管理配列      */
        char     *Data             /* out (14)返信データ格納領域          */
                                   /*     (Len=Secure_Size)              */
);

復帰値

本関数が通知するエラーコードが返却されます。

正常終了の場合は、“0”です。

復帰値が“0”以外の場合、返却結果は保証されません。

エラーコードの詳細については、“N.7 出力されるエラーコード”を参照してください。


パラメタ

(1)ホスト名

ディレクタサーバのホスト名またはIPアドレスを指定します。

conductorを使用する場合は、conductorが稼働しているサーバのホスト名またはIPアドレスを指定します。

conductorを使用しない場合は、directorが稼働しているサーバのホスト名またはIPアドレスを指定します。

サイズは24バイト以内です。


(2)ポート番号

ディレクタサーバの要求受付ポート番号または検索受付ポート番号を指定します。

conductorを使用する場合は、conductor用動作環境ファイルのMySearchPortを指定します。

conductorを使用しない場合は、director用動作環境ファイルのMySearchPortを指定します。


(3)返信開始番号

ヒットしたデータの何件目から返信されるかを指定します。1以上の値を指定します。


(4)返信要求件数

本関数の出力結果として返信されるデータの最大件数を指定します。

1以上の値を指定します。

クライアントの要求への応答最大件数を超えた値を指定した場合、クライアントの要求への応答最大件数までが返信されます。クライアントの要求への応答最大件数は、conductorを使用する場合はconductor用動作環境ファイルのAnsMaxを、conductorを使用しない場合はdirector用動作環境ファイルのAnsMaxを参照します。


(5)検索式領域

検索式の領域へのポインタを設定します。検索式には、director用動作環境ファイルのCharacterCodeに定義した文字コードの文字列を設定してください。検索式は1~1048575バイトの範囲で指定してください。

検索式の詳細については、“B.3 検索式”を参照してください。


(6)リターン式領域

リターン式の領域へのポインタを設定します。リターン式の領域は本関数の呼出し元で用意する必要があります。リターン式は0~1048575バイトの範囲で指定してください。

リターン式の詳細については、“B.4 リターン式”を参照してください。


(7)リザーブ

NULLを指定します。


(8)リザーブ

NULLを指定します。


(9)返信データ格納領域サイズ

返信データを格納する領域のサイズを指定します。


(10)ヒット件数

検索条件に一致した件数が返却されます。

ヒット件数の領域は0クリアして設定してください。


(11)応答返信件数

検索結果に対する応答返信件数が返却されます。応答返信件数分の返信データが返信データ格納領域に返却されます。

応答返信件数の領域は0クリアして設定してください。


(12)返信データ格納済領域サイズ

検索結果に対する返信データを返却するために使用した領域のサイズが返却されます。

返信データ格納済領域サイズの領域は0クリアして設定してください。

返信データ格納領域のサイズが不足していた場合は、返信データを格納するために必要な領域サイズが返却されます。


(13)返信データ格納管理配列

検索の結果が返却される、返信データ格納管理配列へのポインタを設定します。返信データ格納管理配列は本関数の呼出し元で用意する必要があります。

返信データ格納管理配列の詳細については、“【返信データ格納管理構造体】”を参照してください。


(14)返信データ格納領域

本関数を実行した結果が返却される、返信データ格納領域へのポインタを設定します。

返信データ格納領域の領域を0クリアして設定してください。

返信データ格納領域は(9)返信データ格納領域サイズで指定した領域を本関数の呼出し元で用意する必要があります。

返信データ格納領域に格納された各返信データの情報を取得するには、返信データ格納管理配列に通知される各返信データのポインタとサイズを参照してください。


【返信データ格納管理構造体

本関数を実行した結果が返却される、返信データ格納管理配列の構造体です。この領域は、本関数の呼出し元が返信要求件数分の配列の大きさであらかじめ用意する必要があります。


typedef struct             /* データ格納管理域                    */
{
    char    *Rec_Ctl;      /* (1)コンダクタ制御情報域へのポインタ  */
    char    *Rec_ID;       /* (2)返信レコード識別子域へのポインタ  */
    char    *Rec_Ptr;      /* (3)返信データへのポインタ           */
    int     Rtn_Len;       /* (4)返信データのサイズ               */
} Sdsma;

(1)コンダクタ制御情報域へのポインタ

返信データのコンダクタ制御情報域へのポインタを、あらかじめ設定してください。通知領域はあらかじめ確保し、0クリアして設定してください。

通知領域はlibshun.hのCOND_CTL_LENに定義した長さの領域を確保してください。

注意

コンダクタ制御情報はバイナリデータです。str関数などの文字列関数は使用しないでください。

(2)返信レコード識別子へのポインタ

返信データのレコード識別子域へのポインタを、あらかじめ設定してください。通知領域はあらかじめ確保し、0クリアして設定してください。

通知領域はlibshun.hのROW_ID_LENに定義した長さの領域を確保してください。

注意

返信レコード識別子はバイナリデータです。str関数などの文字列関数は使用しないでください。

(3)返信データへのポインタ

本関数の呼出し後に、返信データ格納領域における返信データへのポインタが返却されます。

返信データへのポインタの領域を0クリアして設定してください。


(4)返信データのサイズ

本関数の呼出し後に、返信データのサイズが返却されます。

返信データのサイズの領域は0クリアして設定してください。


shunsearch2のパラメタの説明図を以下に示します。

図N.1 shunsearch2のパラメタの説明図

注意

  • 返信データ格納済領域のサイズが返信データ格納領域サイズに指定した値を超えた場合、以下の情報が設定されます。

    • 返信データ格納済領域サイズには、データの格納に必要なサイズが返却されます。

    • エラーコードは-30です。

    • ヒット件数には、検索に該当したデータ(ヒット件数)が返却されます。

    • 返信レコード識別子には、検索に該当したすべてのレコード識別子が返却されます。

  • リターン式にNULLを設定した場合、返信データは不要であると解釈し、レコード識別子のみが返却されます。

    • リターン式に、空文字“\0”または“/”を指定した場合、レコードの全体が返却されます。