2.2.1.2.191 IP_AUTO_DHCP_GLOBAL_INFO

The IP_AUTO_DHCP_GLOBAL_INFO structure holds the global configuration for the DHCP allocator and is used in the following methods:

The configuration consists of two things:

  1. The network and mask from which addresses are to be allocated.

  2. An optional list of addresses to be excluded from allocation. Thus, this structure is of variable length.

     typedef struct _IP_AUTO_DHCP_GLOBAL_INFO {
       ULONG LoggingLevel;
       ULONG Flags;
       ULONG LeaseTime;
       ULONG ScopeNetwork;
       ULONG ScopeMask;
       ULONG ExclusionCount;
       ULONG ExclusionArray;
     } IP_AUTO_DHCP_GLOBAL_INFO,
      *PIP_AUTO_DHCP_GLOBAL_INFO;
    

LoggingLevel: Specifies the logging level. It MUST be one of the following values.

Value

Meaning

IPNATHLP_LOGGING_NONE

0x00000000

No logging is done.

IPNATHLP_LOGGING_ERROR

0x00000001

Only errors are logged.

IPNATHLP_LOGGING_WARN

0x00000002

Errors and warnings are logged.

IPNATHLP_LOGGING_INFO

0x00000003

Errors, warnings, and information is logged.

Flags: This MUST be set to 0.

LeaseTime: The lease time, in minutes.

ScopeNetwork: The scope of the network from which addresses are to be allocated.

ScopeMask: The mask used to identify the subnet portion of the address. See [RFC950]. The value obtained by logically ANDing ScopeMask and ScopeNetwork MUST equal ScopeNetwork. Any ScopeMask that produces a different ANDed result is invalid.

ExclusionCount: The number of IP addresses that need to be excluded from being allocated. This is also indicates the size of the ExclusionArray.

ExclusionArray: An array of IP addresses that need to be excluded. The size of the array is given by ExclusionCount.