ページのトップに戻る
PowerSORT V6.0  ユーザーズガイド

7.5.2 BSRTREC構造体

BSRTREC構造体は、PowerSORTとユーザアプリケーション間でレコードを受け渡すための構造体です。
BSRTREC構造体には、bsrtopen関数発行前にユーザアプリケーションが指定するメンバーはありません。

typedef struct {
    BSPTR_VOID          sort_table;
    unsigned __int64    errdetail;
    unsigned __int64    in_count;
    unsigned __int64    out_count;
    BSPTR_VOID          rec_addr;
    unsigned __int64    rec_len;
    unsigned char       rec_status;
    unsigned char       mgrec_status;
    unsigned short      mgrec_string;
    unsigned char       reserve[4]      /* reserved */
    BSPTR_VOID          mgrec_addr;
    unsigned __int64    mgrec_len;
    unsigned __int64    hProcFile;
    unsigned __int64    sub_error_code;
} BSRTREC;

BSRTREC構造体メンバー

以下では、BSRTREC構造体のメンバーについて説明します。

BSPTR_VOID    sort_table

bsrtopen関数により、PowerSORTが使用する作業域のアドレスが設定されます。
このメンバーはPowerSORTが使用する専用の領域であり、ユーザアプリケーションは、bsrtopen関数の発行からbsrtclse関数の発行が完了するまでの間、内容を保証しなければなりません。ユーザアプリケーションは、このメンバーに対して何もする必要はありません。

unsigned __int64    errdetail

PowerSORTが処理中にエラーを検出した場合、BSORT関数のエラー詳細コードが設定されます。
ユーザアプリケーションは、エラーの発生を各BSORT関数の戻り値から知ることができます。ユーザアプリケーションは、エラー発生時以外にこのメンバーを参照する必要はありません。

unsigned __int64    in_count

PowerSORTがユーザアプリケーションから受け取ったレコード件数を、レコードの受渡し毎にユーザアプリケーションに通知します。
このメンバーは、ユーザアプリケーションが必要な場合に参照してください。

unsigned __int64    out_count

PowerSORTがユーザアプリケーションに受け渡したレコード件数を、レコードの受渡し毎にユーザアプリケーションに通知します。
このメンバーは、ユーザアプリケーションが必要な場合に参照してください。

BSPTR_VOID    rec_addr

unsigned __int64    rec_len

unsigned char    rec_status

unsigned char    mgrec_status

PowerSORTからレコードの入力要求が通知されます。
このメンバーは、bsrtmrge関数を使用するときに設定されます。以下のいずれかが設定されます。

定義値

意味

BS_REQ

レコードの入力要求を示します。
mgrec_stringが示すストリングのレコードを次のbsrtmrge関数で渡します。

BS_NOREQ

レコードの入力要求はありません。
rec_addrにNULL、rec_lenに0を指定して、再度bsrtmrge関数を発行します。

unsigned short    mgrec_string

PowerSORTに渡すレコードのストリング番号を指定、または参照します。
bsrtmrge関数で最初のレコードを渡すときに0を指定します。それ以降は、PowerSORTがストリング番号を設定します。ユーザアプリケーションは、ここで設定されたストリング番号のレコードを、次のbsrtmrge関数でPowerSORTへ渡してください。このメンバーは、bsrtmrge関数を使用するときに設定されます。

BSPTR_VOID    mgrec_addr

ユーザアプリケーションに返却するレコードのアドレスが設定されます。
返却するレコードがないときはNULLが設定されます。このメンバーは、bsrtmrge関数を使用するときに設定されます。

unsigned __int64    mgrec_len

ユーザアプリケーションに返却するレコードの長さが設定されます。
返却するレコードがないときは0が設定されます。このメンバーは、bsrtmrge関数を使用するときに設定されます。

unsigned __int64    hProcFile

PowerSORTが処理のために使用するメンバーです。
ユーザアプリケーションは、このメンバーに対して何もする必要はありません。

unsigned __int64    sub_error_code

ファイルシステムでエラーが発生した場合、その詳細コードが設定されます。