Tt_message (*Ttmedia_load_msg_cb)( Tt_message msg, void * clientdata, Tttk_op op, unsigned char * contents, int len, char * file ); Tt_message ttmedia_load( Tt_message context, Ttmedia_load_msg_cb cb, void * clientdata, Tttk_op op, const char * media_type, const unsigned char* contents, int len, const char * file, const char * docname, int send );
ttmedia_load() 関数は、ドキュメントの表示、編集、作成を行う Media Exchange 要求を作成し、必要に応じて送信します。この関数は、Display、Edit、Compose のいずれかの要求を作成して送信します。
要求のハンドラとの標準的な対話を管理するには、このメッセージで作成した要求の送信後すぐに ttdt_subcontract_manage() 関数を使用してください。
context 引き数の値がゼロ以外のとき、このルーチンによって作成されるメッセージは、スロット名が ENV_ で始まるすべてのコンテキストを継承します。
clientdata 引き数は、応答を受信する場合、またはドキュメントの中間のバージョンが Deposit 要求によってチェックポイントを設定される場合に cb 引き数に渡されます。
op 引き数は、TTME_DISPLAY、TTME_EDIT、TTME_COMPOSE のいずれかでなければなりません。
media_type 引き数は、ドキュメントのデータ形式に名前を付けます。通常、この引き数により、要求を処理するためにどのアプリケーションを選択するか決定します。
contents 引き数と len 引き数はドキュメントを指定します。これら両方の引き数の値がゼロで、file 引き数の値がゼロでない場合、ドキュメントは指定のファイルに格納されていると想定されます。
docname 引き数が NULL でないとき、その値はドキュメントのタイトルとして使用されます。
send 引き数が true のとき、メッセージは返される前に送信されます。
表 A-22 は、Ttmedia_load_msg_cb メッセージが取るパラメータの一覧です。
表 A-22 Ttmedia_load_msg_cb が取るパラメータ
メッセージが正常に処理されると、コールバックはゼロを返します。処理中にエラーが発生した場合は、コールバックは Tt_message に伝えられたエラー・ポインタを返します。
コールバックがメッセージ msg を処理しない場合、コールバックはメッセージを返し、TT_CALLBACK_CONTINUE ルーチンを呼び出しスタックに渡してメッセージを他のコールバックに提供するか、メッセージを tt_message_receive() 関数に返します。
終了時に、ttmedia_load() 関数は、構築するように要求された要求を返します。エラーが発生した場合、この関数はエラー・ポインタを返します。Tt_status を調べるには、tt_ptr_error を使用します。表 A-23 は、返される可能性のあるエラーの一覧です。
表 A-23 ttmedia_load が返す可能性のあるエラー
エラーの値 |
説明 |
---|---|
ttsession プロセスを使用できません。ToolTalk サービスは、ttsession が実行されていない場合はその再起動を試みます。このエラーは、ToolTalk サービスがインストールされていないか、正しくインストールされていないかのどちらかを示します。 |
|
指定されたプロセス識別子が旧式か、無効です。 |
|
オペレーションを実行するのに十分なメモリがありません。 |
|
ToolTalk サービスが受信したメッセージの数が、正しく処理可能なアクティブ・メッセージの最大数 (2000) に達しました。 |