このトピックには、プログラミング情報が含まれています。 次の一覧では、パーサーの記述に役立つプログラミングのヒントをいくつか示します。
ヒント | 説明 |
---|---|
パーサーの自動インストール | ParserAutoInstallInfo 関数を実装してパーサーを自動的にインストールし、関連付けられている INI ファイルを更新します。 パーサーを手動でインストールする場合は、関連付けられているすべての INI ファイルを手動で更新する必要があります。 |
プロトコルプロパティの解析 | AttachProperties 関数を実装してプロトコル プロパティを解析します。 プロパティ インスタンスを アタッチするときに AttachPropertyInstanceEx 関数を使用しないでください。また、バイトアラインされていないデータ、またはデコードする必要があるデータに対してのみ使用してください。 プロパティのアタッチとは、キャプチャ内の特定の場所にプロパティ インスタンスをマッピングすることを指します。 |
フレーム間で分割されるプロトコルの解析 | プロトコルの各部分が 1 つのフレーム内で完了し、ユーザーが Protocol Coalesce ツールを呼び出して、その部分を 1 つのプロトコルに結合すると仮定します。 プロトコルの解析時に前のフレームを振り返らず、フレーム間で分割されたプロトコルを再構築しないようにしてください。 |
表示されるデータの書式設定 | FormatPropertyInstance 関数を呼び出して、汎用フォーマッタを使用して、ネットワーク モニター UI の詳細ウィンドウに表示されるデータの書式設定を行います。 UI 表示データ用のカスタム フォーマッタを記述しないでください。 ただし、カスタム フォーマッタを呼び出して、解析するプロトコルの 概要プロパティ 行を作成できます。 |
CCAlloc の使用 | ネットワーク モニターでキャプチャごとにデータを割り当てる場合は、CCAlloc を使用します。 ネットワーク モニターでは、フレームがパーサーを呼び出す順序は指定されません。 |
パーサーをステートレスに保つ | ネットワーク モニターがキャプチャを解析するときに、フレームが特定の順序でパーサーに渡されないため、パーサー操作をステートレスに保ちます。 このため、グローバル データは保持しないことをお勧めします。 |