Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

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.

ValueMeaning
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

Minimum supported client

None supported

Minimum supported server

Windows Server 2008, Windows Server 2003 with SP2 [desktop apps only]

See also

Windows Deployment Services Server Functions
PxeRegisterCallback
PxeSendReply
PxeProviderSetAttribute

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.