DhcpV6GetFreeIPAddress 函式 (dhcpsapi.h)

DhcpV6GetFreeIPAddress函式會擷取可租用給用戶端的可用 IPv6 地址清單。

語法

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
);

參數

[in, optional] ServerIpAddress

代表 DHCP 伺服器的 IP 位址或主機名稱的 Null 終止 Unicode 字串指標。

[in] ScopeId

DHCP_IPV6_ADDRESS 結構,指定要從中擷取提供給用戶端的可用位址的 IPv6 子網識別碼。

[in] StartIP

DHCP_IPV6_ADDRESS 結構,指定從中擷取可用位址的範圍 IPv6 範圍的起點位址。 如果此參數為 0, ScopeId 所指定的 IPv6 子網起始位址是預設值。

[in] EndIP

DHCP_IPV6_ADDRESS 結構,指定從中擷取可用位址的範圍 IPv6 範圍的端點位址。 如果此參數為 0, ScopeId 參數所指定的 IPv6 子網結尾位址會視為預設值。

[in] NumFreeAddrReq

整數,指定 從 IPAddrList中指定的範圍擷取的 IPv6 位址數目。 如果此參數為 0,則只會傳回一個 IPv6 位址。

[out] IPAddrList

DHCPV6_IP_ARRAY結構的指標,其中包含可租用給用戶端的可用 IPv6 地址清單。

傳回值

如果函式成功,它會傳回 ERROR_SUCCESS

如果函式失敗,它會從 DHCP 伺服器管理 API 錯誤碼傳回下列其中一個錯誤碼或錯誤碼。

意義
ERROR_INVALID_PARAMETER
一或多個參數無效。
ERROR_DHCP_SUBNET_NOT_PRESENT
DHCP 伺服器上不存在 IPv6 子網。
ERROR_DHCP_REACHED_END_OF_SELECTION
指定的 DHCP 伺服器已到達選取範圍的結尾,同時尋找免費的 IP 位址。

備註

IPAddrList 應該使用 DhcpRpcFreeMemory免費。

傳回的 IPv6 位址數目上限為 1024。 若要擷取超過 1024 個 IPv6 位址,必須多次呼叫 DhcpV6GetFreeIPAddress 。 初始呼叫之後,每個後續呼叫DhcpV6GetFreeIPAddress都必須將startIP設定為從先前呼叫DhcpV6GetFreeIPAddress所收到的IPAddrList清單中的最後一個位址。

當 DHCP 伺服器上可用的可用 IPv6 位址數目小於要求的位址數目時,可用的可用 IPv6 地址清單會傳回給呼叫端,並出現錯誤碼 ERROR_DHCP_REACHED_END_OF_SELECTION

需求

   
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 dhcpsapi.h
程式庫 Dhcpsapi.lib
Dll Dhcpsapi.dll