dc_rpc_set_service_prio
名称
サービス要求のスケジュールプライオリティの設定
形式
ANSI C ,C++の形式
#include <dcrpc.h>
void dc_rpc_set_service_prio(DCLONG prio)
K&R版 C の形式
#include <dcrpc.h>
void dc_rpc_set_service_prio(prio)
DCLONG prio;
機能
サービス要求のプライオリティを設定します。サービス要求単位でスケジュールプライオリティを制御する場合に呼び出します。この関数で設定したプライオリティは,この関数を再び呼び出すまで更新されません。したがって,同じプライオリティでまとめてサービス要求する場合は,この関数を1回だけ呼び出します。
この関数で指定したプライオリティは,直後に呼び出すdc_rpc_call関数,およびdc_rpc_call_to関数で,スケジュールキューを経由してサーバに通知されます。
この関数を一度も呼び出さない場合の処理は,スケジュールサービスの省略時解釈値である4が,サービス要求のプライオリティとして指定されます。
UAPで値を設定する引数
●prio
サービス要求のスケジュールプライオリティを,0または1から8の範囲で設定します。prioの設定は省略できません。
最も高いプライオリティの値は1で,最も低いプライオリティの値は8です。
0を設定した場合は,スケジュールサービスの省略時解釈となります。
上記以外の値を設定した場合は,dc_rpc_set_service_prio関数は無視されます。
リターン値
dc_rpc_set_service_prio関数のリターン値はありません。
注意事項
使用例
int rc;
DCULONG in_len,len;
char *buf;
/* サービス要求1回目:
* プライオリティの指定はなし(スケジュールサービスの省略時解釈)
*/
rc = dc_rpc_call("SPPG","ECHO","ex1",&in_len,buf,&len,DCNOFLAGS);
/* サービス要求2回目:プライオリティ = 8
*/
dc_rpc_set_service_prio(8);
rc = dc_rpc_call("SPPG","ECHO","ex2",&in_len,buf,&len,DCNOFLAGS);
/* サービス要求3回目(連鎖RPC):プライオリティ = 1
*/
dc_rpc_set_service_prio(1);
rc = dc_rpc_call("SPPG","ECHO","ex3",&in_len,buf,&len,DCRPC_CHAINED);
:
(連鎖RPC dc_rpc_call(DCRPC_CHAINED) n回繰り返し)
:
rc = dc_rpc_call("SPPG","ECHO","ex3",&in_len,buf,&len,DCNOFLAGS);
/* サービス要求(4+n+1)回目(以降):
* プライオリティをリセット(スケジュールサービスの省略時解釈)
*/
dc_rpc_set_service_prio(0);
rc = dc_rpc_call("SPPG","ECHO","ex4",&in_len,buf,&len,DCRPC_NOREPLY);