<div class="content" name="DsrUpdateReadOnlyServerDnsRecords" uuid="e83df161-5c13-4520-ae5a-79218ed0bb19"><p>The <b>DsrUpdateReadOnlyServerDnsRecords</b> method SHOULD<a id="Appendix_A_Target_178"></a><a aria-label="Product behavior note 178" href="0c858a52-732a-43ec-85dd-e44b357c1898#Appendix_A_178" data-linktype="relative-path">&lt;178&gt;</a> allow an <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_8b0a073b-3099-4efe-8b81-c2886b66a870" data-linktype="relative-path">RODC</a></span>
to send a control command to a normal (writable) DC for site-specific and CName
types of <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_604dcfcd-72f5-46e5-85c1-f3ce69956700" data-linktype="relative-path">DNS</a></span> records update.
For registration, site-specific records are for the <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_8abdc986-5679-42d9-ad76-b11eb5a0daba" data-linktype="relative-path">site</a></span> in which RODC
resides. For the types of DNS records, see <span><a href="../ms-adts/d2435927-0999-4c62-8c6d-13ba31a52e1a" data-linktype="relative-path">[MS-ADTS]</a></span>
section <span><a href="../ms-adts/ad6cd52a-a294-407b-a5bd-0ca76569c8e5" data-linktype="relative-path">6.3.2</a></span>.
</p><dl>
<dd>
<div><pre> NTSTATUS DsrUpdateReadOnlyServerDnsRecords (
   [in, unique, string] LOGONSRV_HANDLE ServerName,
   [in, string, range(0,256)] wchar_t* ComputerName,
   [in] PNETLOGON_AUTHENTICATOR Authenticator,
   [out] PNETLOGON_AUTHENTICATOR ReturnAuthenticator,
   [in, unique, string, range(0,256)] wchar_t* SiteName,
   [in] ULONG DnsTtl,
   [in, out] PNL_DNS_NAME_INFO_ARRAY DnsNames
 );
</pre></div>
</dd></dl><p><b>ServerName: </b>The custom <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_44deb72d-c62b-4335-90e4-b9fd4dd782ed" data-linktype="relative-path">binding
handle</a></span> (as defined in section <span><a href="3b224201-b531-43e2-8c79-b61f6dea8640" data-linktype="relative-path">3.5.4.1</a></span>) that
represents the connection to the normal (writable) DC.</p><p><b>ComputerName: </b>A null-terminated <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_c305d0ab-8b94-461a-bd76-13b40cb8c4d8" data-linktype="relative-path">Unicode</a></span>
string that contains the client computer <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_0334e0bd-2755-42f6-aeff-2d4a22bf4abf" data-linktype="relative-path">NetBIOS name</a></span>.</p><p><b>Authenticator: </b>A pointer to a <b>NETLOGON_AUTHENTICATOR</b>
structure (as specified in section <span><a href="76c93227-942a-4687-ab9d-9d972ffabdab" data-linktype="relative-path">2.2.1.1.5</a></span>) that
contains the client <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_e72a2c02-84a2-4ce3-b66f-86f725642dc3" data-linktype="relative-path">authenticator</a></span> that
will be used to authenticate the client.</p><p><b>ReturnAuthenticator: </b>A pointer to a <b>NETLOGON_AUTHENTICATOR</b>
structure (as specified in section 2.2.1.1.5) that contains the server return
authenticator.</p><p><b>SiteName: </b>A pointer to a null-terminated
Unicode string that contains the site name where the RODC resides.</p><p><b>DnsTtl: </b>The <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_185c4181-772d-4458-bb90-ab0e11370a1c" data-linktype="relative-path">Time-To-Live (TTL)</a></span>
value, in seconds, for DNS records.</p><p><b>DnsNames: </b>A pointer to an <span><a href="8ae8a92e-b63a-43fd-9350-97f1cab1c148" data-linktype="relative-path">NL_DNS_NAME_INFO_ARRAY (section 2.2.1.2.6)</a></span>
structure that contains an array of <span><a href="1c7e6520-45a2-43e1-ac0b-43e771f85b14" data-linktype="relative-path">NL_DNS_NAME_INFO</a></span>
structures.</p><p><b>Return Values: </b>The method returns 0x00000000
(NO_ERROR) on success; otherwise, it returns a nonzero error code.</p><p>On receiving this call, the server performs the following
steps:</p><ul><li><p><span><span> 
</span></span>Verifies that the server is a normal (writable) DC; otherwise,
the server MUST return STATUS_NOT_SUPPORTED.<a id="Appendix_A_Target_179"></a><a aria-label="Product behavior note 179" href="0c858a52-732a-43ec-85dd-e44b357c1898#Appendix_A_179" data-linktype="relative-path">&lt;179&gt;</a></p>
</li><li><p><span><span> 
</span></span>Verifies that the caller (ComputerName) is an RODC; otherwise,
the server MUST return STATUS_NOT_SUPPORTED.</p>
</li><li><p><span><span> 
</span></span>Verifies that the <i>Authenticator</i> passed, and compute the <i>ReturnAuthenticator</i>,
as specified in section <span><a href="da7acaa3-030b-481e-979b-f58f89389806" data-linktype="relative-path">3.1.4.5</a></span>. If the <i>Authenticator</i>
verification fails, the server MUST return STATUS_ACCESS_DENIED.</p>
</li><li><p><span><span> 
</span></span>Validates the requested DNS name type. Only site-specific and
CName types are supported. For an unsupported DNS name type, sets the DNS name
status to STATUS_NOT_SUPPORTED.</p>
</li><li><p><span><span> 
</span></span>Validates the site name for site-specific DNS name registration.
Sets DNS name status to STATUS_ACCESS_DENIED for an invalid site name.</p>
</li><li><p><span><span> 
</span></span>Validates Ndnc <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_45a1c9f1-0263-49a8-97c7-7aca1a99308c" data-linktype="relative-path">domain name</a></span> for the
registration of NlDnsNdncDomainName DnsDomainInfoType. Sets DNS name status to
STATUS_ACCESS_DENIED for an invalid Ndnc domain name.</p>
</li></ul><p>This method SHOULD be called only by a machine that has
established a <span><a href="b5e7d25a-40b2-41c8-9611-98f53358af66#gt_08ce423c-9f9c-48ed-afa8-8b64c04ecdca" data-linktype="relative-path">secure channel</a></span> with
the server.</p></div>