2.2.5.2.7.3 DNS_RPC_ZONE_CREATE_INFO_LONGHORN

In the DNS_RPC_ZONE_CREATE_INFO_LONGHORN structure all fields have same definition as specified in section DNS_RPC_ZONE_CREATE_INFO_DOTNET (section 2.2.5.2.7.2), with the following exceptions:

 typedef struct _DnsRpcZoneCreateInfoLonghorn {
   DWORD dwRpcStructureVersion;
   DWORD dwReserved0;
   [string] char* pszZoneName;
   DWORD dwZoneType;
   DWORD fAllowUpdate;
   DWORD fAging;
   DWORD dwFlags;
   [string] char* pszDataFile;
   DWORD fDsIntegrated;
   DWORD fLoadExisting;
   [string] char* pszAdmin;
   PDNS_ADDR_ARRAY aipMasters;
   PDNS_ADDR_ARRAY aipSecondaries;
   DWORD fSecureSecondaries;
   DWORD fNotifyLevel;
   DWORD dwTimeout;
   DWORD fRecurseAfterForwarding;
   DWORD dwDpFlags;
   [string] char* pszDpFqdn;
   DWORD dwReserved[32];
 } DNS_RPC_ZONE_CREATE_INFO_LONGHORN,
  *PDNS_RPC_ZONE_CREATE_INFO_LONGHORN,
  DNS_RPC_ZONE_CREATE_INFO,
  *PDNS_RPC_ZONE_CREATE_INFO;

dwRpcStructureVersion: As specified in section 2.2.5.2.4.3.

aipMasters: As specified in section 2.2.5.2.4.3.

aipSecondaries: As specified in section 2.2.5.2.4.3.

If the DNS RPC client sends an older version of DNS_RPC_ZONE_CREATE_INFO structure such as DNS_RPC_ZONE_CREATE_INFO_W2K (section 2.2.5.2.7.1) or DNS_RPC_ZONE_CREATE_INFO_DOTNET (section 2.2.5.2.7.2), then the DNS RPC server MUST construct a current version of DNS_RPC_ZONE_CREATE_INFO structure such as DNS_RPC_ZONE_CREATE_INFO_LONGHORN, using steps as specified below:

  1. Copy the same value for fields that are common to input and current version of DNS_RPC_ZONE_CREATE_INFO structures.

  2. dwRpcStructureVersion field MUST be set to 2.

  3. The values for aipMasters and aipSecondaries fields MUST be obtained from input structure as IP4_ARRAY type and MUST be converted to DNS_ADDR_ARRAY type, and then assigned to aipMasters and aipSecondaries fields in the DNS_RPC_ZONE_CREATE_INFO_LONGHORN structure.

    Note DNS_RPC_ZONE_CREATE_INFO_W2K (section 2.2.5.2.7.1) and DNS_RPC_ZONE_CREATE_INFO_DOTNET (section 2.2.5.2.7.2), do not support IPv6 address list of aipMasters and aipSecondaries.

  4. All other fields that are defined only in DNS_RPC_ZONE_CREATE_INFO_LONGHORN and are not defined in DNS_RPC_ZONE_CREATE_INFO_W2K (section 2.2.5.2.7.1) or DNS_RPC_ZONE_CREATE_INFO_DOTNET (section 2.2.5.2.7.2) structure MUST be set to 0.