DhcpV4GetFreeIPAddress 函式 (dhcpsapi.h)

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

語法

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

參數

[in, optional] ServerIpAddress

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

[in] ScopeId

DHCP_IP_ADDRESS 結構,指定從中擷取可供租用用戶端的可用位址的 IPv4 子網識別碼。

[in] StartIP

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

[in] EndIP

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

[in] NumFreeAddrReq

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

[out] IPAddrList

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

傳回值

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

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

意義
ERROR_INVALID_PARAMETER
一或多個參數無效。
ERROR_FILE_NOT_FOUND
沒有其他元素可供列舉。
ERROR_DHCP_REACHED_END_OF_SELECTION
指定的 DHCP 伺服器已到達選取範圍的結尾,同時尋找免費的 IP 位址。

備註

IPAddrList 應該使用 DhcpRpcFreeMemory免費。

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

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

需求

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