The R_DhcpScanDatabase method is used by DHCP servers that enumerate and/or fix inconsistencies between the ADM elements DHCPv4 client lease records specified in DHCPv4Scope.DHCPv4ClientsList and the bitmask representation in memory specified in DHCPv4IpRange.BitMask. The caller of this function can free the memory pointed to by the ScanList parameter and its member the ScanItems array by calling the function midl_user_free (section 3).

 DWORD R_DhcpScanDatabase(
   [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress,
   [in] DHCP_IP_ADDRESS SubnetAddress,
   [in] DWORD FixFlag,
   [out] LPDHCP_SCAN_LIST* ScanList
 );

ServerIpAddress: The IP address/host name of the DHCP server. This parameter is unused.

SubnetAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), containing the IPv4 subnet ID of the subnet in which the scan is done for the IPv4 addresses that are not in sync.

FixFlag: This is of type DWORD, defining the behavior of this method. This method enumerates the DHCPv4 client IPv4 addresses that are not in sync in both the stores, and if the FixFlag parameter is set to TRUE, it fixes those unmatched IPv4 addresses also.

ScanList: This is a pointer of type LPDHCP_SCAN_LIST that points to the location containing the DHCPv4 client IPv4 addresses that are not in sync in both the stores.

Return Values: A 32-bit unsigned integer value that indicates return status. A return value ERROR_SUCCESS (0x00000000) indicates that the operation was completed successfully, else it contains a Win32 error code, as specified in [MS-ERREF]. This error code value can correspond to a DHCP-specific failure, which takes a value between 20000 and 20099, or any generic failure.

Return value/code

Description

0x00000000

ERROR_SUCCESS

The call was successful.

0x00004E25

ERROR_DHCP_SUBNET_NOT_PRESENT

The specified IPv4 subnet does not exist on the DHCP server.

0x00004E2D

ERROR_DHCP_JET_ERROR

An error occurred while accessing the DHCP server database.

The opnum field value for this method is 27.

When processing this call, the DHCP server MUST do the following:

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol specified in [MS-RPCE].