LPDHCP_NEWPKT callback function (dhcpssdk.h)
The DhcpNewPktHook function is called by Microsoft DHCP Server shortly after it receives a DHCP packet slated for processing. Since the DhcpNewPktHook function call is in the critical path for Microsoft DHCP Server processing, this function should execute and return as quickly as possible or performance will be impacted.
The DhcpNewPktHook function is implemented by a third-party DLL that registers for notification of significant Microsoft DHCP Server events.
Syntax
LPDHCP_NEWPKT LpdhcpNewpkt;
DWORD LpdhcpNewpkt(
[in, out] LPBYTE *Packet,
[in, out] DWORD *PacketSize,
[in] DWORD IpAddress,
[in] LPVOID Reserved,
[in, out] LPVOID *PktContext,
[out] LPBOOL ProcessIt
)
{...}
Parameters
[in, out] Packet
Pointer to a 4Kb character buffer that contains the packet.
[in, out] PacketSize
Pointer to the size of the Packet parameter.
[in] IpAddress
Pointer to the IP address of the socket on which the packet was received. The IP address is in host order.
[in] Reserved
Reserved for future use.
[in, out] PktContext
Pointer provided by the third-party DLL, and used by Microsoft DHCP Server in future references to this specific packet. Third-party DLLs interested in such tracking are responsible for providing and tracking this packet context.
[out] ProcessIt
Flag identifying whether Microsoft DHCP Server should continue processing the packet. Set to TRUE to indicate processing should proceed. Set to FALSE to have Microsoft DHCP Server drop the packet.
Return value
Return values are defined by the application providing the callback.
Remarks
If useful, third-party DLLs can modify the Packet buffer, or return a new packet buffer through appropriate modification of the Packet and PacketSize parameters.
If a third-party DLL needs to keep track of a given packet and its progress through Microsoft DHCP Server, it can provide a packet context in PktContext, and use internal structures that track the packet's progress through its DHCP processing. A context provided in PktContext will be passed as a parameter to many other DHCP Server API functions, enabling identification.
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | dhcpssdk.h |