objid には、仕様情報が格納された特定のファイルシステムを指すポインタが入っています。仕様によって記述されたオブジェクトと同じように仕様情報を利用できるようにするため、ToolTalk サービスは仕様情報をそのオブジェクトと同じファイルシステムに格納します。そのため、オブジェクトが移動すると、仕様も移動しなければなりません。
tt_spec_move を使用して、オブジェクトが 1 つのファイルから別のファイルにいつ移動したか (たとえば、カット&ペースト操作などで) を ToolTalk サービスに知らせます。
新しい objid が不要な場合 (新旧のファイルが両方同じファイルシステム内にあるために)、ToolTalk サービスは TT_WRN_SAME_OBJID
を返します。
オブジェクトが別のファイルシステムに移動した場合、ToolTalk サービスはそのオブジェクトの新しい objid を返し、古い objid から新しい objid を指す転送ポインタを ToolTalk データベースに残します。
プロセスが古い objid にメッセージを送信する場合 (つまり、転送ポインタを持つ objid)、tt_message_send は特殊な状態コード TT_WRN_STALE_OBJID
を返し、メッセージ内のオブジェクト属性を新しい場所の同じオブジェクトを指す新しい objid と置き換えます。
オブジェクトを参照する内部データ構造体は、すべて新しい objid に更新してください。