Función de devolución de llamada PxeProviderRecvRequest
Se llama cuando se recibe una solicitud de un cliente. Esta función se registra mediante una llamada a la función PxeRegisterCallback con el parámetro CallbackType establecido en PXE_CALLBACK_RECV_REQUEST.
Sintaxis
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
);
Parámetros
-
hClientRequest [in]
-
Identificador de una solicitud recibida de un cliente.
-
pPacket [in]
-
Puntero al búfer de memoria que contiene el paquete recibido.
-
uPacketLen [in]
-
Longitud, en bytes, del búfer al que apunta el parámetro pPacket .
-
pLocalAddress [in]
-
Puntero a una estructura de PXE_ADDRESS que contiene la dirección local en la que se recibió el paquete.
-
pRemoteAddress [in]
-
Puntero a una estructura PXE_ADDRESS que contiene la dirección de origen del paquete.
-
pAction [out]
-
Especifica la acción que debe realizar el sistema.
Valor Significado - PXE_BA_NBP
- 1
El proveedor respondió a un cliente con un paquete de respuesta DHCP estándar que contiene una ruta de acceso al programa de arranque de red. Devolver esta acción significa que el proveedor completó correctamente la solicitud de cliente llamando a la función PxeSendReply al menos una vez. - PXE_BA_CUSTOM
- 2
El proveedor respondió a un cliente mediante una respuesta personalizada que no se ajusta a las especificaciones dhcp. Devolver esta acción significa que el proveedor completó correctamente la solicitud de cliente llamando a la función PxeSendReply al menos una vez. - PXE_BA_IGNORE
- 3
El proveedor no quiere atender la solicitud de cliente y la solicitud no debe pasarse al siguiente proveedor. Se liberan todos los recursos asociados a la solicitud de cliente y se omite la solicitud de cliente. Los proveedores también pueden usar este valor si reconocen al cliente, pero la solicitud tiene un formato incorrecto. - PXE_BA_REJECTED
- 4
El proveedor no quiere atender la solicitud de cliente. El sistema pasa la solicitud al siguiente proveedor en la lista de proveedores registrados. Si este era el último proveedor de la lista, se liberan todos los recursos asociados a la solicitud de cliente y se omite la solicitud de cliente. -
pContext [in]
-
Valor de contexto pasado a la función PxeRegisterCallback .
Valor devuelto
Si el proveedor procesó correctamente la solicitud de cliente, la devolución de llamada debe devolver ERROR_SUCCESS y el PXE_BOOT_ACTION señalado por el parámetro pAction contiene la acción de arranque adecuada para esta solicitud. Si el proveedor procesará la solicitud de cliente de forma asincrónica, la devolución de llamada debe devolver ERROR_IO_PENDING y llamar a la función PxeAsyncRecvDone cuando se haya procesado la solicitud del cliente. En caso de error, se debe devolver un código de error adecuado y el sistema continuará como si se especificara la acción de arranque PXE_BA_REJECTED .
Observaciones
El tipo de paquetes vistos por un proveedor se puede cambiar con la función PxeProviderSetAttribute .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
No se admite ninguno |
Servidor mínimo compatible |
Windows Server 2008, Windows Server 2003 con SP2 [solo aplicaciones de escritorio] |