AttachProperties コールバック関数
AttachProperties エクスポート関数は、認識されたデータの一部内の場所にプロパティをマップします。 パーサー DLL がサポートするパーサーごとに AttachProperties を実装する必要があります。
構文
DWORD AttachProperties(
_In_ HFRAME hFrame,
_In_ LPBYTE lpFrame,
_In_ LPBYTE lpProtocol,
_In_ DWORD MacType,
_In_ DWORD BytesLeft,
_In_ HPROTOCOL hPreviousProtocol,
_In_ DWORD nPreviousProtocolOffset,
_In_ DWORD lpInstData
);
パラメーター
-
hFrame [in]
-
解析されるフレームのハンドル。
-
lpFrame [in]
-
フレーム内の最初のバイトへのポインター。
-
lpProtocol [in]
-
認識されたデータの先頭へのポインター。
-
MacType [in]
-
フレーム内の最初のプロトコルの MAC 値。 MacType には、次のいずれかを指定できます。
値 説明 - MAC_TYPE_ETHERNET
802.3 - MAC_TYPE_TOKENRING
802.5 - MAC_TYPE_FDDI
ANSI X3T9.5 -
BytesLeft [in]
-
認識されたデータの先頭から始まるフレーム内の残りのバイト数。
-
hPreviousProtocol [in]
-
前のプロトコルのハンドル。
-
nPreviousProtocolOffset [in]
-
フレームの先頭から始まる前のプロトコルのオフセット。
-
lpInstData [in]
-
前のプロトコルが提供するインスタンス データへのポインター。 インスタンス データは、DWORD_PTRの長さより長くすることはできません。
戻り値
関数が成功した場合、戻り値はフレーム内の認識されたデータの後の最初のバイトへのポインター、認識されたデータがフレーム内の最後のデータである場合は NULL です。
関数が失敗した場合、戻り値は認識されたデータへのポインターです。 lpProtocol パラメーターは、パーサー DLL へのポインターを渡します。
解説
Network Monitor は、フレーム内のデータの一部を認識するパーサーごとに AttachProperties 関数を呼び出します。 パーサーは、認識されたデータに存在するプロパティと、各プロパティが配置されている場所を決定します。
AttachProperties の実装中に、AttachPropertyInstance を呼び出して、キャプチャに存在するデータを使用します。 また、AttachPropertyInstanceEx 関数を呼び出して、プロパティ データを変更することもできます。 ただし、キャプチャに存在するデータを使用することをお勧めします。
AttachPropertyInstanceEx 関数と AttachPropertyInstance 関数は、認識されたデータに存在するプロパティに対してのみ呼び出されます。 Network Monitor には、パーサーがサポートするすべてのプロパティの説明を含むパーサーのプロパティ データベース があることに注意してください。
インスタンス データ
インスタンス データは、あるパーサーから別のパーサーに渡される情報です。 インスタンス データには、長さがDWORD_PTR以下の任意のデータ、またはパーサーによる割り当てや解放を必要としない生フレーム データなどのデータへのポインターを指定できます。 AttachProperties 関数と RecognizeFrame 関数の lpInstData パラメーターでは、ネットワーク モニターは前のプロトコルのインスタンス データへのポインターを提供します。 RecognizeFrame の実装中に、パーサーのインスタンス データを設定できます。
情報 | 参照先 |
---|---|
パーサーとは何か、およびネットワーク モニターで動作する方法。 | パーサー |
パーサー DLL に含まれるエントリ ポイント。 | パーサー DLL のアーキテクチャ |
データを認識する方法。 | RecognizeFrame の実装 |
プロパティ データベースを作成する方法。 | Register の実装 |
AttachProperties を実装する方法には、例が含まれています。 | AttachProperties の実装 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|