DCRPC_BINDTBL_SET,DCRPC_DIRECT_SCHEDULE
名称
DCRPC_BINDING_TBL構造体の設定
形式
ANSI C,C++の形式
#include <dcrpc.h>
void DCRPC_BINDTBL_SET(struct DCRPC_BINDING_TBL *direction,
char *nid, char *hostnm,
short portno, DCLONG flags)
void DCRPC_DIRECT_SCHEDULE(struct DCRPC_BINDING_TBL *direction,
char *hostnm, short scdport,
DCLONG flags)
K&R版 C の形式
#include <dcrpc.h>
void DCRPC_BINDTBL_SET(*direction, *nid, *hostnm, portno, flags)
struct DCRPC_BINDING_TBL *direction;
char *nid;
char *hostnm;
short portno;
DCLONG flags;
void DCRPC_DIRECT_SCHEDULE(*direction, *hostnm, scdport, flags)
struct DCRPC_BINDING_TBL *direction;
char *hostnm;
short scdport;
DCLONG flags;
機能
dc_rpc_call_to関数の第1引数に指定するDCRPC_BINDING_TBL構造体を次のどちらかの関数を使用して作成します。
DCRPC_DIRECT_SCHEDULE関数で作成したDCRPC_BINDING_TBL構造体を指定してdc_rpc_call_to関数を呼び出すと,OpenTP1は指定されたスケジュールサービスの管理するユーザサーバに,直接サービス要求を送信します。ただし,DCRPC_DIRECT_SCHEDULE関数で作成したDCRPC_BINDING_TBL構造体は,キュー受信型(ユーザサービス定義のreceive_fromオペランドにqueueを指定)ユーザサーバへのサービス要求にしか使用できません。
また,DCRPC_DIRECT_SCHEDULE関数で作成したDCRPC_BINDING_TBL構造体を指定してdc_rpc_call_to関数を呼び出す場合は,サービス要求先のOpenTP1のバージョンやユーザサーバのトランザクション属性を認識しなければならないなど,多くの注意事項があります。詳細については,dc_rpc_call_to関数の注意事項を参照してください。
UAPで値を設定する引数
●direction
dc_rpc_call_to関数の第1引数で使用するDCRPC_BINDING_TBL構造体のアドレスを設定します。
●nid
DCRPC_BINDTBL_SET関数で,ノード識別子をサービス要求先を特定する検索のキーとする場合,ノード識別子を格納した領域のアドレスを指定します。文字列の最後にはヌル文字を設定してください。このヌル文字は文字列の長さに数えません。
ノード識別子は,システム共通定義のnode_idオペランドに指定した名称で,かつサービス要求先ノードのホスト名がグローバルドメイン※内にあることが前提です。
ノード識別子を検索のキーにしない場合には,nidにアドレス0を指定してください。
●hostnm
サービス要求先ノードのホスト名を格納した領域のアドレスを指定します。指定できるホスト名は1から255文字までの文字列です。文字列の最後にはヌル文字を設定してください。このヌル文字は文字列の長さに数えません。指定するホスト名は,/etc/hostsファイルまたはDNSなどで,IPアドレスとのマッピングができる名称です。
なお,サービス要求先ノードのホスト名はグローバルドメイン※に指定されていても,指定されていなくても,どちらでもかまいません。
DCRPC_BINDTBL_SET関数で,ホスト名をサービス要求先を特定する検索のキーにしない場合には,hostnmにアドレス0を指定してください。
DCRPC_DIRECT_SCHEDULE関数では,hostnmは必ず指定してください。DCRPC_DIRECT_SCHEDULE関数のhostnmにアドレス0を指定した場合は,このDCRPC_BINDING_TBL構造体を指定して呼び出したdc_rpc_call_to関数が,DCRPCER_INVALID_ARGSでエラーリターンします。
●portno
●scdport
DCRPC_DIRECT_SCHEDULE関数のscdportには,サービス要求先OpenTP1システムのスケジュールサービスのポート番号(サービス要求先のスケジュールサービス定義のscd_portオペランドで指定)を指定します。0を指定した場合は,送信先ポート番号の省略値として,サービス要求元のスケジュールサービス定義に指定されているscd_portオペランドの値を仮定します。したがって,DCRPC_DIRECT_SCHEDULE関数のscdportに0を指定する場合,サービス要求元のOpenTP1は,スケジュールサービス定義にscd_portオペランドが指定され,起動されていなければなりません。
●flags
DCNOFLAGSを指定します。
その他関連事項
dc_rpc_call_to関数を参照してください。
注意事項