2.2.7.2.1 DNS_RPC_DP_INFO

The DNS_RPC_DP_INFO structure SHOULD<55> represent the current state of an application directory partition on the directory server.

 typedef struct _DnssrvRpcDirectoryPartition {
   DWORD dwRpcStructureVersion;
   DWORD dwReserved0;
   [string] char* pszDpFqdn;
   [string] wchar_t* pszDpDn;
   [string] wchar_t* pszCrDn;
   DWORD dwFlags;
   DWORD dwZoneCount;
   DWORD dwState;
   DWORD dwReserved[3];
   [string] wchar_t* pwszReserved[3];
   [range(0,10000)] DWORD dwReplicaCount;
   [size_is(dwReplicaCount)] PDNS_RPC_DP_REPLICA ReplicaArray[];
 } DNS_RPC_DP_INFO,
  *PDNS_RPC_DP_INFO;

dwRpcStructureVersion: The structure version number; this value MUST be set to 0x00000000.

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

pszDpFqdn: A pointer to a null-terminated UTF-8 string that specifies the FQDN of the application directory partition. This value is read from the dnsRoot attribute of the partition crossRef object (see pszCrDn) converted to UTF-8 for this application directory partition.

pszDpDn: A pointer to a null-terminated Unicode string that specifies the distinguished name for the application directory partition naming context root object. This is the value of the nCName attribute of the application directory partition crossRef object (see pszCrDn).

pszCrDn: A pointer to a null-terminated Unicode string that specifies the distinguished name for the application directory partition crossRef object (located beneath "CN=Partitions, CN=Configuration, <Forest DN>").

dwFlags: The application directory partition properties; this MUST be set to a combination of allowed values for DNS_RPC_DP_FLAGS (section 2.2.7.1.1).

dwZoneCount: The number of zones from this application directory partition that are loaded in the DNS server's memory. This value is incremented or decremented in the Application Directory Partition Table whenever a DNS Zone Table entry corresponding to a zone in this application directory partition is initialized or deleted, respectively.

dwState: The current state of this application directory partition. This MUST be set to one of the following values:

Value

Meaning

Source

DNS_DP_OKAY

0x00000000

The application directory partition is running and ready for all operations.

The Application Directory Partition naming context root object's instanceType attribute ([MS-ADA1] section 2.309) has neither DS_INSTANCETYPE_NC_COMING (0x00000010), nor the DS_INSTANCETYPE_NC_GOING ( 0x00000020) bit set.

DNS_DP_STATE_REPL_INCOMING

0x00000001

The application directory partition is replicating onto the directory server but has not completed an initial synchronization so will be ignored for the time being.

The Application Directory Partition naming context root object's instanceType attribute has the (DS_INSTANCETYPE_NC_COMING ( 0x00000010) bit set.

DNS_DP_STATE_REPL_OUTGOING

0x00000002

The application directory partition is being deleted from the directory server and so will be ignored.

The Application Directory Partition naming context root object's instanceType attribute has the DS_INSTANCETYPE_NC_GOING ( 0x00000020) bit set.

DNS_DP_STATE_UNKNOWN

0x00000003

The application directory partition state is unavailable for unknown reasons.

The Application Directory Partition naming context root object's instanceType attribute is unavailable due to an error condition.

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

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

dwReplicaCount: The number of replication locations for the application directory partition. This value MUST be between 0 and 10000. This value is calculated from the values of the msDS-NC-Replica-Locations and msDS-NC-RO-Replica-Locations<56>attributes of the application directory partition crossRef object (see pszCrDn), as the sum of the number of DNs listed in each attribute.

ReplicaArray: Array of DNS_RPC_DP_REPLICA (section 2.2.7.2.2), that contains information about replication locations for this application directory partition. This structure is populated from the values of the msDS-NC-Replica-Locations (section 2.395) and msDS-NC-RO-Replica-Locations (section 2.396) attributes of the application directory partition crossRef object (see pszCrDn). Failure to read any of those attributes will be treated as if no replica exists for that attribute.