Compartir a través de


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]

Vea también

Funciones del servidor de Servicios de implementación de Windows

PxeRegisterCallback

PxeSendReply

PxeProviderSetAttribute