共用方式為


PxeDhcpIsValid 函式 (wdspxe.h)

驗證封包是否為 DHCP 封包。

語法

DWORD PXEAPI PxeDhcpIsValid(
  [in]  PVOID pPacket,
  [in]  ULONG uPacketLen,
  [in]  BOOL  bRequestPacket,
  [out] PBOOL pbPxeOptionPresent
);

參數

[in] pPacket

使用 PxePacketAllocate 函式配置的回復封包指標。

[in] uPacketLen

pPacket參數指向的封包長度。

[in] bRequestPacket

指出封包是否為要求封包。 下表列出可能的值。

意義
TRUE
1
要驗證的封包是來自用戶端的要求封包。
FALSE
0
要驗證的封包是由伺服器產生的封包。

[out] pbPxeOptionPresent

如果封包是有效的 DHCP 封包,且包含廠商類別識別碼選項 (60) ,且值設定為 「PXEClient」,則 BOOL 的位址會設定為 TRUE

傳回值

如果函式成功,傳回值會 ERROR_SUCCESS

備註

當具有 PxeProviderSetAttribute 函式的篩選準則集設定為接收所有封包時,提供者會使用此函式,以判斷指定的封包是否為有效的 DHCP 封包。 提供者也可以使用此函式來驗證回復封包;這通常只會針對提供者的偵錯或測試組建完成。

驗證測試包含下列測試。

DHCP 欄位 初始化的值
作業 (作業) 如果 bClientRequest 參數為 TRUE,此欄位必須是 1 (BOOTP 要求) ,否則此欄位必須是 2 (BOOTP 回復) 。
硬體位址長度 (hlen) 必須小於或等於 16。
主機名稱 (sname) 必須是 Null 終止。
開機檔案名 (檔案) 必須是 Null 終止。
Magic Cookie (前 4 個八位自動) 必須包含有效的 DHCP Magic Cookie (99 130 83 99) 。
選項長度 所有選項都必須具有有效的長度,而且不會覆寫封包。
DHCP 訊息類型 (53) 必須存在。
結束選項 (255) 封包必須以 DHCP 結束選項結束。 由於封包長度下限,封包可能會較大,但沒有選項可能遵循結束選項。

規格需求

   
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2008、Windows Server 2003 SP2 [僅限傳統型應用程式]
目標平台 Windows
標頭 wdspxe.h
程式庫 WdsPxe.lib
Dll WdsPxe.dll

另請參閱

PxePacketAllocate

PxeProviderSetAttribute

Windows 部署服務伺服器函式