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] |