LPDHCP_DROP_SEND fonction de rappel (dhcpssdk.h)
Syntaxe
LPDHCP_DROP_SEND LpdhcpDropSend;
DWORD LpdhcpDropSend(
[in, out] LPBYTE *Packet,
[in, out] DWORD *PacketSize,
[in] DWORD ControlCode,
[in] DWORD IpAddress,
[in] LPVOID Reserved,
[in] LPVOID PktContext
)
{...}
Paramètres
[in, out] Packet
Pointeur vers une mémoire tampon, d’une taille de 4 Ko, qui contient le paquet.
[in, out] PacketSize
Pointeur vers la taille du paramètre Packet , en octets.
[in] ControlCode
Code de contrôle qui spécifie la raison de la suppression. Consultez la section Notes.
[in] IpAddress
Adresse IP (Internet Protocol) du socket sur lequel le paquet a été reçu. L’adresse IP est dans l’ordre de l’hôte.
[in] Reserved
Réservé pour un usage futur.
[in] PktContext
Contexte identifiant le paquet, comme indiqué dans le paramètre PktContext d’un appel de fonction DhcpNewPktHook précédent.
Valeur retournée
Les valeurs de retour sont définies par l’application qui fournit le rappel.
Remarques
La fonction DhcpPktDropHook est appelée par microsoft DHCP Server lorsqu’un paquet DHCP est supprimé ou qu’un paquet est complètement traité. DhcpPktDropHook est implémenté par une DLL tierce qui s’inscrit pour la notification des événements importants du serveur DHCP Microsoft.
La fonction DhcpPktDropHook ne doit pas se bloquer.
Les DLL tierces qui s’inscrivent pour la notification de cet événement doivent être prêtes à avoir leur fonction DhcpPktDropHook appelée plusieurs fois pour chaque paquet. Si un paquet est supprimé par Microsoft DHCP Server, cette fonction est appelée deux fois pour ce paquet : une fois pour notifier que le paquet a été supprimé, puis une nouvelle fois pour identifier que le paquet a été complètement traité.
Le tableau suivant définit les codes de contrôle possibles retournés dans le paramètre ControlCode .
Code de contrôle | Description |
---|---|
DHCP_DROP_DUPLICATE | Le paquet est un doublon d’un autre reçu par le serveur DHCP. |
DHCP_DROP_NOMEM | La mémoire disponible est insuffisante pour traiter le paquet. |
DHCP_DROP_INTERNAL_ERROR | Une erreur interne inattendue s’est produite. |
DHCP_DROP_TIMEOUT | Le paquet est trop ancien pour être traiter. |
DHCP_DROP_UNAUTH | Le serveur n’est pas autorisé à traiter ce paquet. |
DHCP_DROP_PAUSED | Le serveur est suspendu. |
DHCP_DROP_NO_SUBNETS | Aucun sous-réseau n’étant configuré, il n’y a aucun intérêt à traiter le paquet. |
DHCP_DROP_INVALID | Le paquet n’est pas valide ou a été reçu sur un socket non valide. |
DHCP_DROP_WRONG_SERVER | Le paquet a été envoyé au mauvais serveur DHCP. |
DHCP_DROP_NOADDRESS | Il n’y a pas d’adresse à offrir. |
DHCP_DROP_PROCESSED | Le paquet a été traité. |
DHCP_DROP_GEN_FAILURE | Une erreur inconnue s’est produite. |
La fonction DhcpPktSendHook est appelée par Microsoft DHCP Server directement avant que Microsoft DHCP Server envoie une réponse à un client. L’inscription à la notification de DhcpPktSendHook permet aux développeurs tiers de modifier la réponse du serveur DHCP Microsoft en maniant les pointeurs de paquets. DhcpPktSendHook est implémenté par une DLL tierce qui s’inscrit pour la notification d’événements microsoft DHCP Server importants.
La fonction DhcpPktSendHook ne doit pas se bloquer.
La fonction DhcpPktSendHook ne doit pas se bloquer.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | dhcpssdk.h |