C プログラミング言語 API を対象に作成されるメッセージ処理ノードとパーサーは、トレースにエントリーを書き込むことができます。
cci*Trace 関数は、トレース設定に関係なく、ユーザー定義拡張機能で使用できます。 これらの関数は、トレースがアクティブであるかを判別して、トレース設定に適したエントリーのみを書き込みます。 cci*Trace 関数を呼び出す際、追加処理が必要となることがあります。 ユーザー定義拡張機能がトレース設定を照会し、トレースが非アクティブならこの余分の処理を行わないで済むよう、cciIsTraceActive 関数が用意されています。
多くの場合、cciIsTraceActive 関数から戻される値をブール値として処理するだけで十分です。 戻り値がゼロ以外の場合、トレースはいずれかのレベルでアクティブであり、どの cci*Trace 関数を呼び出しても構いません。 トレース設定の詳細が必要な場合、戻り値を詳しく検査することもできます。
トレース設定の変更はいつでも起こり得るので、定期的に照会することをお勧めします。 例えば、インプリメンテーション関数に入るときに、cciIsTraceActive を使用してトレース設定を照会するようにしてください。
トレース・エントリーは特定のオブジェクトと関連付けることができるので、トレースの書き込みをより細分化して制御することができます。 トレース・エントリーは、ノードまたはパーサーと関連付けることができ、トレースはそのオブジェクトのトレース設定に応じて書き込まれます。 オブジェクトのトレース設定は、ノードまたはパーサーが属するメッセージ・フローから継承されます。オブジェクトの指定がない場合には、トレースは実行グループと関連付けられます。