Fonction DhcpV4GetFreeIPAddress (dhcpsapi.h)

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

Syntaxe

DWORD DHCP_API_FUNCTION DhcpV4GetFreeIPAddress(
  [in, optional] LPWSTR          ServerIpAddress,
  [in]           DHCP_IP_ADDRESS ScopeId,
  [in]           DHCP_IP_ADDRESS StartIP,
  [in]           DHCP_IP_ADDRESS EndIP,
  [in]           DWORD           NumFreeAddrReq,
  [out]          LPDHCP_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_IP_ADDRESS structure qui spécifie l’ID de sous-réseau IPv4 à partir duquel les adresses disponibles à louer aux clients sont récupérées.

[in] StartIP

DHCP_IP_ADDRESS structure qui spécifie l’adresse de point de départ de la plage IPv4 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 IPv4 spécifié par ScopeId est la valeur par défaut.

[in] EndIP

DHCP_IP_ADDRESS structure qui spécifie l’adresse de point de terminaison de la plage IPv4 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 IPv4 spécifié par le paramètre ScopeId est prise comme adresse par défaut.

[in] NumFreeAddrReq

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

[out] IPAddrList

Pointeur vers une structure DHCP_IP_ARRAY qui contient la liste des adresses IPv4 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_FILE_NOT_FOUND
Il ne reste plus d’éléments à énumérer.
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 IPv4 retournées est 1024. Pour récupérer plus d’adresses IPv4 1024, plusieurs appels à DhcpV4GetFreeIPAddress doivent être effectués. Après l’appel initial, chaque appel suivant à DhcpV4GetFreeIPAddress doit définir startIP sur la dernière adresse de la liste reçue dans IPAddrList à partir de l’appel précédent à DhcpV4GetFreeIPAddress.

Lorsque le nombre d’adresses IPv4 gratuites disponibles sur le serveur DHCP est inférieur à celui demandé, la liste des adresses IPv4 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