2.2.5.2.4.1 DNS_RPC_ZONE_INFO_W2K

The DNS_RPC_ZONE_INFO_W2K structure is used to specify detailed DNS zone information.

 typedef struct _DnsRpcZoneInfoW2K {
   [string] char* pszZoneName;
   DWORD dwZoneType;
   DWORD fReverse;
   DWORD fAllowUpdate;
   DWORD fPaused;
   DWORD fShutdown;
   DWORD fAutoCreated;
   DWORD fUseDatabase;
   [string] char* pszDataFile;
   PIP4_ARRAY aipMasters;
   DWORD fSecureSecondaries;
   DWORD fNotifyLevel;
   PIP4_ARRAY aipSecondaries;
   PIP4_ARRAY aipNotify;
   DWORD fUseWins;
   DWORD fUseNbstat;
   DWORD fAging;
   DWORD dwNoRefreshInterval;
   DWORD dwRefreshInterval;
   DWORD dwAvailForScavengeTime;
   PIP4_ARRAY aipScavengeServers;
   DWORD pvReserved1;
   DWORD pvReserved2;
   DWORD pvReserved3;
   DWORD pvReserved4;
 } DNS_RPC_ZONE_INFO_W2K,
  *PDNS_RPC_ZONE_INFO_W2K;

pszZoneName: A pointer to a null-terminated Unicode string that contains a zone name.

dwZoneType: The zone type. This MUST be set to one of the allowed values as specified in DNS_ZONE_TYPE (section 2.2.5.1.1).

fReverse: A Boolean value where TRUE (0x00000001) indicates this is a reverse lookup zone and FALSE (0x00000000) indicates this is a forward lookup zone.

fAllowUpdate: A value that indicates what kind dynamic updates, as specified in [RFC2136], are allowed for this zone. This MUST be set to one of the following values:

 Constant/value

Description

ZONE_UPDATE_OFF

0x00000000

No updates are allowed for the zone.

ZONE_UPDATE_UNSECURE

0x00000001

All updates (secure and unsecure) are allowed for the zone.

ZONE_UPDATE_SECURE

0x00000002

The zone only allows secure updates, that is, DNS packet MUST have a TSIG [RFC2845] present in the additional section.

fPaused: A Boolean value indicates whether zone operations are currently paused. TRUE indicates that the DNS server does not use this zone to answer queries or accept updates. FALSE indicates that the zone is handled normally.

fShutdown: A Boolean value that indicates whether this zone is currently shut down.

fAutoCreated: A Boolean value that indicates whether this zone was autocreated by the DNS server at boot time or when a virtualization instance is created via the CreateVirtualizationInstance RPC operation (section 3.1.4.1).

fUseDatabase: A Boolean value that indicates whether this zone is stored in a directory server.

pszDataFile: A pointer to a null-terminated UTF-8 character string that specifies the name (with no path) of the zone file for a file-based zone or NULL if this zone is not stored in a file.

aipMasters: A pointer to a structure of type IP4_ARRAY (section 2.2.3.2.1) that specifies a list of IPv4 addresses of the remote DNS servers that can be sources of information for this zone to perform zone transfers by a secondary. This value is applicable for secondary, stub and forwarder zones only and MUST be NULL for all other zone types.

fSecureSecondaries: The secondary security settings configured for a zone on the master DNS server. The DNS server MUST respond to zone transfer requests from a secondary server according to the behavior description corresponding to this flag's value as specified in DNS_ZONE_SECONDARY_SECURITY (section 2.2.5.1.2). This value MUST be set to one of the allowed values as specified in DNS_ZONE_SECONDARY_SECURITY (section 2.2.5.1.2).

fNotifyLevel: This parameter is ignored, and for dwZoneType parameter setting DNS_ZONE_TYPE_PRIMARY (specified in section 2.2.5.1.1) and for DNS servers that are not directory service-integrated, the zone notification setting is set to ZONE_NOTIFY_ALL_SECONDARIES. Otherwise, it is set to ZONE_NOTIFY_LIST_ONLY, as specified in section 2.2.5.1.3.

aipSecondaries: A pointer to a structure of type IP4_ARRAY (section 2.2.3.2.1) that specifies a list of IPv4 addresses of the remote DNS servers that are secondary DNS servers for this zone, or NULL if there are no secondary DNS servers. If fSecureSecondaries is set to ZONE_SECSECURE_LIST_ONLY then only zone transfers from IP addresses in this list will be honored.

aipNotify: A pointer to a structure of type IP4_ARRAY (section 2.2.3.2.1) that specifies a list of IPv4 addresses of the remote DNS servers that are secondaries for this zone, for which this DNS server is acting as master and the DNS server will send zone notifications to these secondary servers, as directed by the value of fNotifyLevel above.

fUseWins: A Boolean value that indicates whether WINS resource record lookup is enabled for this forward lookup zones.

fUseNbstat: A Boolean value that indicates whether WINS-R resource record lookup is enabled for this reverse lookup zones.

fAging: A Boolean value where TRUE (0x00000001) indicates that aging is enabled for resource records in this zone, so the time-stamps of records in the zone will be updated when server receives dynamic update request for that record; whereas FALSE(0x00000000) indicates, that the time-stamps of the records in the zone will not be updated.

dwNoRefreshInterval: The time interval, in hours, that is configured as NoRefresh interval value for this zone. This value determines the time interval between the last update of a record's time-stamp and the earliest instance when that time-stamp can be refreshed.

dwRefreshInterval: The time interval, in hours, that is configured as the refresh interval value for this zone. Records that have not been refreshed by the expiration of this interval are eligible to be removed during the next scavenging cycle performed by the DNS server.

dwAvailForScavengeTime: The time interval, in hours, that is available before the scheduled next scavenging cycle for this zone.

aipScavengeServers: A pointer to a structure of type IP4_ARRAY (section 2.2.3.2.1) that specifies a list of IPv4 addresses of the DNS servers that will perform scavenging for this zone. This value is applicable for zones of type DNS_ZONE_TYPE_PRIMARY (section DNS_ZONE_TYPE) only. If this value is NULL,  there are no restrictions on which DNS server can perform scavenging for this zone.

pvReserved1: Reserved for future use. Server MUST set to zero and receiver MUST ignore this value.

pvReserved2: Reserved for future use. Server MUST set to zero and receiver MUST ignore this value.

pvReserved3: Reserved for future use. Server MUST set to zero and receiver MUST ignore this value.

pvReserved4: Reserved for future use. Server MUST set to zero and receiver MUST ignore this value.