PxeProviderRecvRequest 回呼函式
從用戶端收到要求時呼叫。 呼叫 PxeRegisterCallback 函式,並將 CallbackType 參數設定為 PXE_CALLBACK_RECV_REQUEST,以註冊此函式。
語法
DWORD PXEAPI PxeProviderRecvRequest(
_In_ HANDLE hClientRequest,
_In_ PVOID pPacket,
_In_ ULONG uPacketLen,
_In_ PXE_ADDRESS *pLocalAddress,
_In_ PXE_ADDRESS *pRemoteAddress,
_Out_ PXE_BOOT_ACTION pAction,
_In_ PVOID pContext
);
參數
-
hClientRequest [in]
-
處理從用戶端收到的要求。
-
pPacket [in]
-
包含已接收封包的記憶體緩衝區指標。
-
uPacketLen [in]
-
pPacket參數所指向之緩衝區的長度,以位元組為單位。
-
pLocalAddress [in]
-
包含接收封包所在本機位址 之PXE_ADDRESS 結構的指標。
-
pRemoteAddress [in]
-
包含封包來源位址 之PXE_ADDRESS 結構的指標。
-
pAction [out]
-
指定系統應該採取的動作。
值 意義 - PXE_BA_NBP
- 1
提供者已使用包含網路開機程式路徑的標準 DHCP 回應封包來回複用戶端。 傳回此動作表示提供者至少呼叫 PxeSendReply 函式一次,以成功完成用戶端要求。 - PXE_BA_CUSTOM
- 2
提供者使用不符合 DHCP 規格的自訂回應來回複用戶端。 傳回此動作表示提供者至少呼叫 PxeSendReply 函式一次,以成功完成用戶端要求。 - PXE_BA_IGNORE
- 3
提供者不想要服務用戶端要求,而且不應該將要求傳遞至下一個提供者。 與用戶端要求相關聯的所有資源都會釋放,並忽略用戶端要求。 如果提供者辨識用戶端,但要求格式不正確,則提供者也可以使用此值。 - PXE_BA_REJECTED
- 4
提供者不想服務用戶端要求。 系統會將要求傳遞至已註冊提供者清單中的下一個提供者。 如果這是清單中的最後一個提供者,則會釋放與用戶端要求相關聯的所有資源,並忽略用戶端要求。 -
pCoNtext [in]
-
傳遞至 PxeRegisterCallback 函式的內容值。
傳回值
如果提供者已成功處理用戶端要求,回呼應該會傳回ERROR_SUCCESS,而pAction參數所指向的PXE_BOOT_ACTION則包含此要求的適當開機動作。 如果提供者會以非同步方式處理用戶端要求,則回呼應該會傳回 ERROR_IO_PENDING, 並在處理用戶端要求時呼叫 PxeAsyncRecvDone 函式。 如果失敗,應該傳回適當的錯誤碼,而且系統會繼續執行,就像指定 了開 機動作PXE_BA_REJECTED一樣。
備註
提供者看到的封包類型可以使用 PxeProviderSetAttribute 函式來變更。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
都不支援 |
最低支援的伺服器 |
Windows Server 2008、Windows Server 2003 SP2 [僅限桌面應用程式] |