LPDHCP_NEWPKT回呼函式 (dhcpssdk.h)

DhcpNewPktHook 函式會在收到即將處理的 DHCP 封包之後,由 Microsoft DHCP Server 呼叫。 由於 DhcpNewPktHook 函數調用位於 Microsoft DHCP 伺服器處理的重要路徑中,因此此函式應該儘快執行並傳回,否則效能將會受到影響。

DhcpNewPktHook 函式是由註冊重要 Microsoft DHCP 伺服器事件通知的第三方 DLL 所實作。

語法

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
)
{...}

參數

[in, out] Packet

包含封包的 4Kb 字元緩衝區指標。

注意 不建議直接寫入此緩衝區。
 

[in, out] PacketSize

Packet 參數大小的指標。

[in] IpAddress

接收封包之套接字IP位址的指標。 IP 位址會依主機順序排列。

[in] Reserved

保留供未來使用。

[in, out] PktContext

第三方 DLL 提供的指標,未來由 Microsoft DHCP 伺服器使用此特定封包的參考。 對這類追蹤感興趣的第三方 DLL 負責提供和追蹤此封包內容。

[out] ProcessIt

識別 Microsoft DHCP 伺服器是否應該繼續處理封包的旗標。 設定為 TRUE ,表示應該繼續處理。 設定為 FALSE ,讓 Microsoft DHCP Server 卸除封包。

傳回值

傳回值是由提供回呼的應用程式所定義。

備註

如果很有用,第三方 DLL 可以修改 封包 緩衝區,或透過適當修改 PacketPacketSize 參數傳回新的封包緩衝區。

如果第三方 DLL 需要追蹤指定的封包及其透過 Microsoft DHCP Server 的進度,它可以在 PktContext 中提供封包內容,並使用透過其 DHCP 處理追蹤封包進度的內部結構。 PktContext 中提供的內容會當做參數傳遞至許多其他 DHCP 伺服器 API 函式,以啟用識別。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 dhcpssdk.h

另請參閱

DHCP_CALLOUT_TABLE

DhcpServerCalloutEntry

DHCP 伺服器 API 的運作方式