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 函数来修改属性数据。 但是,建议使用捕获中存在的数据。
AttachPropertyInstanceEx 和 AttachPropertyInstance 函数仅针对已识别数据中存在的属性调用。 请注意,网络监视器具有分析程序 的属性数据库 ,其中包含分析程序支持的所有属性的说明。
实例数据
实例数据是从一个分析程序传递到另一个分析程序的信息。 实例数据可以是长度小于或等于DWORD_PTR的任何数据,也可以是指向数据(如原始帧数据)的指针,这些数据不需要由分析程序分配或释放。 在 AttachProperties 和 RecognizeFrame 函数的 lpInstData 参数中,网络监视器提供指向先前协议的实例数据的指针。 可以在 实现 RecognizeFrame 期间为分析程序设置实例数据。
相关信息 | 请参阅 |
---|---|
什么是分析程序,以及它们如何与网络监视器配合使用。 | 分析器 |
分析程序 DLL 中包含哪些入口点。 | 分析程序 DLL 体系结构 |
如何识别数据。 | 实现 RecognizeFrame |
如何创建属性数据库。 | 实现寄存器 |
如何实现 AttachProperties 包括一个示例。 | 实现 AttachProperties |
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|