DhcpHandleOptionsHook 函数使第三方 DLL 能够从 DHCP 数据包获取常用选项,而无需处理整个 DHCP 数据包。 DhcpHandleOptionsHook 函数不应阻止。
语法
LPDHCP_HANDLE_OPTIONS LpdhcpHandleOptions;
DWORD LpdhcpHandleOptions(
[in] LPBYTE Packet,
[in] DWORD PacketSize,
[in] LPVOID Reserved,
[in] LPVOID PktContext,
[in, out] LPDHCP_SERVER_OPTIONS ServerOptions
)
{...}
参数
[in] Packet
正在处理的数据包的缓冲区。
[in] PacketSize
Packet 参数的大小(以字节为单位)。
[in] Reserved
预留以供将来使用。
[in] PktContext
标识数据包的上下文,如上一个 DhcpNewPktHook 函数调用的 PktContext 参数中提供。
[in, out] ServerOptions
类型的结构 DHCP_SERVER_OPTIONS 包含 Microsoft DHCP 服务器从数据包中分析的信息,并作为常用服务器选项的集合提供。
返回值
返回值由提供回调的应用程序定义。
注解
当第三方 DLL 的开发人员希望避免必须处理整个 DHCP 数据包时, DhcpHandleOptionsHook 函数非常有用,而是可以通过一组常用的服务器选项来实现所需结果。 当第三方 DLL 注册此事件通知时,Microsoft DHCP 服务器将分析传入的数据包,提取常用的服务器选项,并将其传递到 ServerOptions 参数中的第三方 DLL。
如果在完成 DhcpHandleOptionsHook 函数调用后需要 ServerOptions 中指向的DHCP_SERVER_OPTIONS结构,则第三方 DLL 必须复制结构。
可以为单个数据包多次调用 DhcpHandleOptionsHook 函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | dhcpssdk.h |