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 [仅限桌面应用] |