共通デスクトップ環境 ToolTalk メッセージの概要

ttmedia_load

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_DISPLAYTTME_EDITTTME_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_message_id を指定する messageID 引き数が指定された Deposit 要求

このパラメータの値が Deposit 要求である場合、クライアント・プログラムは要求に応答するか、無視しなければなりません。


注 -

メッセージ msg は処理後に破棄してください。


Tttk_op op

メッセージのオペレーション (TTME_DEPOSIT あるいは ttmedia_load() メッセージに渡されたオペレーション)

unsigned char * contents

int len

char *file

到着中のドキュメントの内容 

len 引き数がゼロのとき、ドキュメントは指定のファイルに格納されています。contents 引き数または file 引き数が NULL でない場合は、ToolTalk 関数 tt_free() を使用してそれらの引き数を解放してください。

void *clientdata

ttmedia_load() メッセージに渡されたクライアント・データ

メッセージが正常に処理されると、コールバックはゼロを返します。処理中にエラーが発生した場合は、コールバックは Tt_message に伝えられたエラー・ポインタを返します。

コールバックがメッセージ msg を処理しない場合、コールバックはメッセージを返し、TT_CALLBACK_CONTINUE ルーチンを呼び出しスタックに渡してメッセージを他のコールバックに提供するか、メッセージを tt_message_receive() 関数に返します。

終了時に、ttmedia_load() 関数は、構築するように要求された要求を返します。エラーが発生した場合、この関数はエラー・ポインタを返します。Tt_status を調べるには、tt_ptr_error を使用します。表 A-23 は、返される可能性のあるエラーの一覧です。

表 A-23 ttmedia_load が返す可能性のあるエラー

エラーの値 

説明 

TT_ERR_NOMP

ttsession プロセスを使用できません。ToolTalk サービスは、ttsession が実行されていない場合はその再起動を試みます。このエラーは、ToolTalk サービスがインストールされていないか、正しくインストールされていないかのどちらかを示します。 

TT_ERR_PROCID

指定されたプロセス識別子が旧式か、無効です。 

TT_ERR_NOMEM

オペレーションを実行するのに十分なメモリがありません。 

TT_ERR_OVERFLOW

ToolTalk サービスが受信したメッセージの数が、正しく処理可能なアクティブ・メッセージの最大数 (2000) に達しました。