2.2.5.2.7.1 DNS_RPC_ZONE_CREATE_INFO_W2K

The DNS_RPC_ZONE_CREATE_INFO_W2K structure is used to specify parameters required when creating a new DNS zone.

 typedef struct _DnsRpcZoneCreateInfo {
   [string] char* pszZoneName;
   DWORD dwZoneType;
   DWORD fAllowUpdate;
   DWORD fAging;
   DWORD dwFlags;
   [string] char* pszDataFile;
   DWORD fDsIntegrated;
   DWORD fLoadExisting;
   [string] char* pszAdmin;
   PIP4_ARRAY aipMasters;
   PIP4_ARRAY aipSecondaries;
   DWORD fSecureSecondaries;
   DWORD fNotifyLevel;
   [string] char* pvReserved1;
   [string] char* pvReserved2;
   [string] char* pvReserved3;
   [string] char* pvReserved4;
   [string] char* pvReserved5;
   [string] char* pvReserved6;
   [string] char* pvReserved7;
   [string] char* pvReserved8;
   DWORD dwReserved1;
   DWORD dwReserved2;
   DWORD dwReserved3;
   DWORD dwReserved4;
   DWORD dwReserved5;
   DWORD dwReserved6;
   DWORD dwReserved7;
   DWORD dwReserved8;
 } DNS_RPC_ZONE_CREATE_INFO_W2K,
  *PDNS_RPC_ZONE_CREATE_INFO_W2K;

pszZoneName: As specified in section 2.2.5.2.4.1.

dwZoneType: The zone type. This MUST be set to one of the allowed values specified in DNS_ZONE_TYPE (section 2.2.5.1.1), and it MUST NOT be either DNS_ZONE_TYPE_CACHE or DNS_ZONE_TYPE_SECONDARY_CACHE.

fAllowUpdate: As specified in section 2.2.5.2.4.1.

fAging: As specified in section 2.2.5.2.4.1.

dwFlags: The zone creation behavior that the DNS server is to follow while creating the zone. This field is only used when the operation is ZoneCreate. The DNS server MUST ignore the value of this field when the operation is ZoneTypeReset. This field MUST be set to any combination of the following values:

Value

Meaning

DNS_ZONE_LOAD_OVERWRITE_MEMORY

0x00000010

If dwZoneType is not set to the value DNS_ZONE_TYPE_PRIMARY (section 2.2.5.1.1), then this flag MUST be ignored. Otherwise, the DNS server MUST attempt to find and load the zone database from persistent storage instead of creating a new empty zone database. If the value of fDsIntegrated is 0x00000001 then the DNS server MUST search for a pre-existing zone database in the directory server, otherwise the DNS server MUST search for a pre-existing zone database in a file. If a pre-existing zone database is not found then it continues with zone creation, however if a pre-existing zone database is found but could not be loaded, the DNS server MUST fail the operation and return an error.

DNS_ZONE_CREATE_FOR_DCPROMO

0x00001000

If this flag is set, the DNS server MUST create the zone such that it is directory server-integrated and stored in the DNS domain partition.

DNS_ZONE_CREATE_FOR_DCPROMO_FOREST

0x00004000

If this flag is set, the DNS server MUST create the zone such that it is directory server-integrated and stored in the DNS forest partition.

pszDataFile: As specified in section 2.2.5.2.4.1.

fDsIntegrated: A value of 0x00000001 indicates that the zone is to be created to use the directory server for persistent storage, and 0x00000000 indicates it is not. If this is set to 0x00000001 the caller MUST specify the application directory partition information in pszDpFqdn (section 2.2.5.2.7.2); in this case the DNS server MUST ignore the value of pszDataFile.

fLoadExisting: If the operation is ZoneCreate this field is interpreted as a Boolean value. If set to TRUE this has the same effect as specifying DNS_ZONE_LOAD_OVERWRITE_MEMORY in the dwFlags field. If the operation is ZoneTypeReset, this field can be set to one of the following values; however, the DNS server MUST ignore the value of this field if fDsIntegrated is not TRUE or dwZoneType is not DNS_ZONE_TYPE_PRIMARY (section 2.2.5.1.1).

Value

Meaning

DNS_ZONE_LOAD_OVERWRITE_MEMORY

0x00000010

The server MUST attempt to find and load the zone database from persistent storage instead of retaining the existing in-memory zone database by searching for a pre-existing zone database in the directory server. If a pre-existing zone database is not found, then the server MUST fail the operation and return an error.

DNS_ZONE_LOAD_OVERWRITE_DS

0x00000020

If this flag is set and if the zone already exists in the database, then the server MUST overwrite the existing zone database with current in-memory zone database.

pszAdmin: A pointer to a null-terminated UTF-8 string containing the administrator's email name (in the format specified in [RFC1035] section 8) or NULL to cause the DNS server to use a default value "hostmaster", followed by the name of the zone. This value MUST be used to populate the zone administrator email field in the SOA record in the new zone.

aipMasters: As specified in section 2.2.5.2.4.1.

aipSecondaries: As specified in section 2.2.5.2.4.1.

fSecureSecondaries: As specified in section 2.2.5.2.4.1.

fNotifyLevel: As specified in section 2.2.5.2.4.1.

pvReserved1: MUST be set to zero when sent and MUST be ignored on receipt.

pvReserved2: MUST be set to zero when sent and MUST be ignored on receipt.

pvReserved3:MUST be set to zero when sent and MUST be ignored on receipt.

pvReserved4: MUST be set to zero when sent and MUST be ignored on receipt.

pvReserved5: MUST be set to zero when sent and MUST be ignored on receipt.

pvReserved6: MUST be set to zero when sent and MUST be ignored on receipt.

pvReserved7: MUST be set to zero when sent and MUST be ignored on receipt.

pvReserved8: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved1: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved2: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved3: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved4: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved5: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved6: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved7: MUST be set to zero when sent and MUST be ignored on receipt.

dwReserved8: MUST be set to zero when sent and MUST be ignored on receipt.