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。

备注

网络监视器为每个识别帧中的数据段分析程序调用 AttachProperties 函数。 请注意,分析程序确定识别的数据中存在哪些属性,以及每个属性所在的位置。

AttachProperties 实现期间,调用 AttachPropertyInstance 以使用捕获中存在的数据。 还可以调用 AttachPropertyInstanceEx 函数来修改属性数据。 但是,建议使用捕获中存在的数据。

AttachPropertyInstanceExAttachPropertyInstance 函数仅针对已识别数据中存在的属性调用。 请注意,网络监视器具有分析程序 的属性数据库 ,其中包含分析程序支持的所有属性的说明。

实例数据

实例数据是从一个分析程序传递到另一个分析程序的信息。 实例数据可以是长度小于或等于DWORD_PTR的任何数据,也可以是指向数据(如原始帧数据)的指针,这些数据不需要由分析程序分配或释放。 在 AttachPropertiesRecognizeFrame 函数的 lpInstData 参数中,网络监视器提供指向先前协议的实例数据的指针。 可以在 实现 RecognizeFrame 期间为分析程序设置实例数据。

相关信息 请参阅
什么是分析程序,以及它们如何与网络监视器配合使用。 分析器
分析程序 DLL 中包含哪些入口点。 分析程序 DLL 体系结构
如何识别数据。 实现 RecognizeFrame
如何创建属性数据库。 实现寄存器
如何实现 AttachProperties 包括一个示例。 实现 AttachProperties

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Netmon.h

另请参阅

AttachPropertyInstance

AttachPropertyInstanceEx

RecognizeFrame