PxeProviderRecvRequest callback function
Called when a request is received from a client. This function is registered by calling the PxeRegisterCallback function with the CallbackType parameter set to PXE_CALLBACK_RECV_REQUEST.
Syntax
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
);
Parameters
-
hClientRequest [in]
-
Handle to a request received from a client.
-
pPacket [in]
-
Pointer to the memory buffer that contains the received packet.
-
uPacketLen [in]
-
Length, in bytes, of the buffer pointed to by the pPacket parameter.
-
pLocalAddress [in]
-
Pointer to a PXE_ADDRESS structure that contains the local address on which the packet was received.
-
pRemoteAddress [in]
-
Pointer to a PXE_ADDRESS structure that contains the source address of the packet.
-
pAction [out]
-
Specifies the action that the system should take.
Value Meaning - PXE_BA_NBP
- 1
The provider replied to a client with a standard DHCP response packet that contains a path to the Network Boot Program. Returning this action means that the provider successfully completed the client request by calling the PxeSendReply function at least once. - PXE_BA_CUSTOM
- 2
The provider replied to a client by using a custom response that does not conform to DHCP specifications. Returning this action means that the provider successfully completed the client request by calling the PxeSendReply function at least once. - PXE_BA_IGNORE
- 3
The provider does not want to service the client request and the request should not be passed to the next provider. All resources associated with the client request are released and the client request is ignored. Providers can also use this value if they recognize the client but the request was malformed. - PXE_BA_REJECTED
- 4
The provider does not want to service the client request. The system passes the request to the next provider in the list of registered providers. If this was the last provider in the list, then all resources associated with the client request are released and client request is ignored. -
pContext [in]
-
Context value passed to the PxeRegisterCallback function.
Return value
If the provider successfully processed the client request, the callback should return ERROR_SUCCESS and the PXE_BOOT_ACTION pointed to by the pAction parameter contains the appropriate boot action for this request. If the provider will process the client request asynchronously, the callback should return ERROR_IO_PENDING and call the PxeAsyncRecvDone function when the client request has been processed. In case of failure, an appropriate error code should be returned and the system will proceed as if the PXE_BA_REJECTED boot action was specified.
Remarks
The type of packets seen by a provider can be changed with the PxeProviderSetAttribute function.
Requirements
Requirement | Value |
---|---|
Minimum supported client |
None supported |
Minimum supported server |
Windows Server 2008, Windows Server 2003 with SP2 [desktop apps only] |