tt_mark() 関数と tt_release() 関数は、情報の記憶領域を管理しやすくするための一般的な機構です。tt_mark() 関数と tt_release() 関数は、通常、ルーチンが終了して ToolTalk サービスによって返された情報が必要なくなった場合に、ルーチンの開始と終了時に使用されます。
ToolTalk サービスに記憶領域の開始をマークするよう要求するには、tt_mark を使用します。ToolTalk サービスは、API スタック上の場所を表す整数のマークを 1 つ返します。ToolTalk サービスがそれ以降に返す情報はすべて、そのマークの後ろに格納されます。
記憶領域に格納されている情報が不要になった場合は、tt_release() を使用して、不要になった情報の開始位置を示すマークを指定します。
例 13–1 は、メッセージ内の情報を検査するルーチンの開始位置で tt_mark() を呼び出します。このルーチン内で検査された情報が不要になってメッセージが破棄されたとき、tt_release() がそのマークとともに呼び出され、スタック上の記憶領域を解放します。