2.2.5.2.3.2 DNS_RPC_ZONE_LIST_DOTNET

In the DNS_RPC_ZONE_LIST_DOTNET structure all fields have same definition as specified in section DNS_RPC_ZONE_LIST_W2K (section 2.2.5.2.3.1), with the following exceptions:

 typedef struct _DnssrvRpcZoneListDotNet {
   DWORD dwRpcStructureVersion;
   DWORD dwReserved0;
   [range(0,500000)] DWORD dwZoneCount;
   [size_is(dwZoneCount)] PDNS_RPC_ZONE_DOTNET ZoneArray[];
 } DNS_RPC_ZONE_LIST_DOTNET,
  *PDNS_RPC_ZONE_LIST_DOTNET,
  DNS_RPC_ZONE_LIST,
  *PDNS_RPC_ZONE_LIST;

dwRpcStructureVersion: The DNS management structure version number. This MUST be set to 0x00000001.

dwReserved0: This field is reserved for future use. Senders can send an arbitrary value and receivers MUST ignore it.

If the DNS RPC client sends an older version of DNS_RPC_ZONE_LIST structure, that is, DNS_RPC_ZONE_LIST_W2K (section 2.2.5.2.3.1), then the DNS RPC server MUST construct a current version of DNS_RPC_ZONE_LIST structure, that is, DNS_RPC_ZONE_LIST_DOTNET, using the following steps:

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

  2. The dwRpcStructureVersion field MUST be set to "1".

  3. The value for the ZoneArray field MUST be obtained from the input structure as DNS_RPC_ZONE_W2K (section 2.2.5.2.1.1) array elements and each MUST be converted using the steps specified in section DNS_RPC_ZONE_DOTNET (section 2.2.5.2.1.2), and then assigned to the ZoneArray field in the DNS_RPC_ZONE_LIST_DOTNET structure.

  4. All other fields that are defined only in DNS_RPC_ZONE_LIST_DOTNET and are not defined in DNS_RPC_ZONE_LIST_W2K (section 2.2.5.2.3.1), MUST be set to "0".