Fonction de rappel PxeProviderRecvRequest

Appelé lorsqu’une demande est reçue d’un client. Cette fonction est inscrite en appelant la fonction PxeRegisterCallback avec le paramètre CallbackType défini sur PXE_CALLBACK_RECV_REQUEST.

Syntaxe

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
);

Paramètres

hClientRequest [in]

Gérer une requête reçue d’un client.

pPacket [in]

Pointeur vers la mémoire tampon qui contient le paquet reçu.

uPacketLen [in]

Longueur, en octets, de la mémoire tampon pointée vers le paramètre pPacket .

pLocalAddress [in]

Pointeur vers une structure de PXE_ADDRESS qui contient l’adresse locale sur laquelle le paquet a été reçu.

pRemoteAddress [in]

Pointeur vers une structure PXE_ADDRESS qui contient l’adresse source du paquet.

pAction [out]

Spécifie l’action que le système doit effectuer.

Valeur Signification
PXE_BA_NBP
1
Le fournisseur a répondu à un client avec un paquet de réponse DHCP standard qui contient un chemin d’accès au programme de démarrage réseau. Le renvoi de cette action signifie que le fournisseur a correctement effectué la demande cliente en appelant la fonction PxeSendReply au moins une fois.
PXE_BA_CUSTOM
2
Le fournisseur a répondu à un client à l’aide d’une réponse personnalisée qui n’est pas conforme aux spécifications DHCP. Le renvoi de cette action signifie que le fournisseur a correctement effectué la demande cliente en appelant la fonction PxeSendReply au moins une fois.
PXE_BA_IGNORE
3
Le fournisseur ne souhaite pas traiter la demande du client et la demande ne doit pas être transmise au fournisseur suivant. Toutes les ressources associées à la demande cliente sont libérées et la demande cliente est ignorée. Les fournisseurs peuvent également utiliser cette valeur s’ils reconnaissent le client, mais que la demande a été incorrecte.
PXE_BA_REJECTED
4
Le fournisseur ne souhaite pas traiter la demande du client. Le système transmet la demande au fournisseur suivant dans la liste des fournisseurs inscrits. S’il s’agit du dernier fournisseur de la liste, toutes les ressources associées à la demande cliente sont libérées et la demande cliente est ignorée.

pContext [in]

Valeur de contexte passée à la fonction PxeRegisterCallback .

Valeur retournée

Si le fournisseur a correctement traité la demande du client, le rappel doit retourner ERROR_SUCCESS et le PXE_BOOT_ACTION pointé par le paramètre pAction contient l’action de démarrage appropriée pour cette demande. Si le fournisseur traite la demande client de manière asynchrone, le rappel doit retourner ERROR_IO_PENDING et appeler la fonction PxeAsyncRecvDone lorsque la demande cliente a été traitée. En cas d’échec, un code d’erreur approprié doit être retourné et le système se poursuit comme si l’action de démarrage PXE_BA_REJECTED était spécifiée.

Notes

Le type de paquets vu par un fournisseur peut être modifié avec la fonction PxeProviderSetAttribute .

Spécifications

Condition requise Valeur
Client minimal pris en charge
Aucun pris en charge
Serveur minimal pris en charge
Windows Server 2008, Windows Server 2003 avec SP2 [applications de bureau uniquement]

Voir aussi

Fonctions serveur des services de déploiement Windows

PxeRegisterCallback

PxeSendReply

PxeProviderSetAttribute