LPDHCP_DROP_SEND回呼函式 (dhcpssdk.h)
語法
LPDHCP_DROP_SEND LpdhcpDropSend;
DWORD LpdhcpDropSend(
[in, out] LPBYTE *Packet,
[in, out] DWORD *PacketSize,
[in] DWORD ControlCode,
[in] DWORD IpAddress,
[in] LPVOID Reserved,
[in] LPVOID PktContext
)
{...}
參數
[in, out] Packet
緩衝區的指標,大小為 4Kb,其中包含封包。
[in, out] PacketSize
Packet 參數大小的指標,以位元組為單位。
[in] ControlCode
控制程式代碼,指定卸除的原因。 請參閱<備註>。
[in] IpAddress
因特網通訊協定 (接收封包之套接字的IP) 位址。 IP 位址會依主機順序排列。
[in] Reserved
保留供未來使用。
[in] PktContext
識別封包的內容,如先前 DhcpNewPktHook 函數調用的 PktContext 參數中提供。
傳回值
傳回值是由提供回呼的應用程式所定義。
備註
當 DHCP 封包卸除或完全處理封包時,Microsoft DHCP Server 會呼叫 DhcpPktDropHook 函式。 DhcpPktDropHook 是由註冊重要 Microsoft DHCP 伺服器事件通知的第三方 DLL 所實作。
DhcpPktDropHook 函式不應該封鎖。
註冊此事件通知的第三方 DLL 應該準備好讓其 DhcpPktDropHook 函式針對每個封包呼叫多次。 如果 Microsoft DHCP Server 卸除封包,則會針對該封包呼叫兩次此函式:一次通知封包已卸除,然後再次識別封包已完全處理。
下表定義 ControlCode 參數中傳回的可能控件代碼。
控制程序代碼 | Description |
---|---|
DHCP_DROP_DUPLICATE | 封包是 DHCP 伺服器所接收的另一個封包復本。 |
DHCP_DROP_NOMEM | 沒有足夠的記憶體可用來處理封包。 |
DHCP_DROP_INTERNAL_ERROR | 發生非預期的內部錯誤。 |
DHCP_DROP_TIMEOUT | 封包太舊而無法處理。 |
DHCP_DROP_UNAUTH | 伺服器未獲授權處理此封包。 |
DHCP_DROP_PAUSED | 伺服器已暫停。 |
DHCP_DROP_NO_SUBNETS | 沒有設定子網,因此沒有處理封包的點。 |
DHCP_DROP_INVALID | 封包無效,或是在無效的套接字上收到。 |
DHCP_DROP_WRONG_SERVER | 封包已傳送至錯誤的 DHCP 伺服器。 |
DHCP_DROP_NOADDRESS | 沒有提供位址。 |
DHCP_DROP_PROCESSED | 封包已經過處理。 |
DHCP_DROP_GEN_FAILURE | 發生未知的錯誤。 |
在 Microsoft DHCP Server 傳送回應給用戶端之前,Microsoft DHCP Server 會直接呼叫 DhcpPktSendHook 函式。 註冊 DhcpPktSendHook 通知可讓第三方開發人員藉由操作封包指標來改變 Microsoft DHCP 伺服器的回應。 DhcpPktSendHook 是由註冊重要 Microsoft DHCP 伺服器事件通知的第三方 DLL 所實作。
DhcpPktSendHook 函式不應該封鎖。
DhcpPktSendHook 函式不應該封鎖。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | dhcpssdk.h |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應