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.

Note Il n’est pas recommandé d’écrire directement dans cette mémoire tampon.
 

[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

Voir aussi

DHCP_CALLOUT_TABLE

DhcpNewPktHook