Fonction DhcpV6GetFreeIPAddress (dhcpsapi.h)

La fonction DhcpV6GetFreeIPAddress récupère la liste des adresses IPv6 disponibles qui peuvent être louées aux clients.

Syntaxe

DWORD DHCP_API_FUNCTION DhcpV6GetFreeIPAddress(
  [in, optional] LPWSTR            ServerIpAddress,
  [in]           DHCP_IPV6_ADDRESS ScopeId,
  [in]           DHCP_IPV6_ADDRESS StartIP,
  [in]           DHCP_IPV6_ADDRESS EndIP,
  [in]           DWORD             NumFreeAddrReq,
  [out]          LPDHCPV6_IP_ARRAY *IPAddrList
);

Paramètres

[in, optional] ServerIpAddress

Pointeur vers une chaîne Unicode terminée par null qui représente l’adresse IP ou le nom d’hôte du serveur DHCP.

[in] ScopeId

DHCP_IPV6_ADDRESS structure qui spécifie l’ID de sous-réseau IPv6 à partir duquel les adresses disponibles à louer aux clients sont récupérées.

[in] StartIP

DHCP_IPV6_ADDRESS structure qui spécifie l’adresse de point de départ de la plage IPv6 d’étendue à partir de laquelle les adresses disponibles sont récupérées. Si ce paramètre est 0, l’adresse de début du sous-réseau IPv6 spécifiée par ScopeId est la valeur par défaut.

[in] EndIP

DHCP_IPV6_ADDRESS structure qui spécifie l’adresse de point de terminaison de la plage IPv6 d’étendue à partir de laquelle les adresses disponibles sont récupérées. Si ce paramètre est 0, l’adresse de fin du sous-réseau IPv6 spécifié par le paramètre ScopeId est prise comme adresse par défaut.

[in] NumFreeAddrReq

Entier qui spécifie le nombre d’adresses IPv6 récupérées à partir de l’étendue spécifiée dans IPAddrList. Si ce paramètre est 0, une seule adresse IPv6 est retournée.

[out] IPAddrList

Pointeur vers une structure DHCPV6_IP_ARRAY qui contient la liste des adresses IPv6 disponibles qui peuvent être louées aux clients.

Valeur retournée

Si la fonction réussit, elle retourne ERROR_SUCCESS.

Si la fonction échoue, elle retourne l’un des codes d’erreur suivants ou un code d’erreur à partir des codes d’erreur de l’API gestion du serveur DHCP.

Valeur Signification
ERROR_INVALID_PARAMETER
Un ou plusieurs des paramètres n’étaient pas valides.
ERROR_DHCP_SUBNET_NOT_PRESENT
Le sous-réseau IPv6 n’existe pas sur le serveur DHCP.
ERROR_DHCP_REACHED_END_OF_SELECTION
Le serveur DHCP spécifié a atteint la fin de la plage sélectionnée lors de la recherche de l’adresse IP gratuite.

Notes

IPAddrList doit être gratuit à l’aide de DhcpRpcFreeMemory.

Le nombre maximal d’adresses IPv6 retournées est 1024. Pour récupérer plus d’adresses IPv6 1024, plusieurs appels à DhcpV6GetFreeIPAddress doivent être effectués. Après l’appel initial, chaque appel suivant à DhcpV6GetFreeIPAddress doit définir startIP sur la dernière adresse de la liste reçue dans IPAddrList à partir de l’appel précédent à DhcpV6GetFreeIPAddress.

Lorsque le nombre d’adresses IPv6 gratuites disponibles sur le serveur DHCP est inférieur à celui demandé, la liste des adresses IPv6 gratuites disponibles est retournée à l’appelant avec le code d’erreur ERROR_DHCP_REACHED_END_OF_SELECTION.

Spécifications

   
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête dhcpsapi.h
Bibliothèque Dhcpsapi.lib
DLL Dhcpsapi.dll