<div class="content"><p> </p><p>The R_DnssrvQuery3 method queries the DNS server for
information. The type of information queried for is specified by the client
using the pszZone, pwszZoneScopeName, and pszOperation parameters. The DNS
server SHOULD<a id="Appendix_A_Target_287"></a><a aria-label="Product behavior note 287" href="4a9a3ba3-10eb-430e-b157-1fed0aaf85a5#Appendix_A_287" data-linktype="relative-path">&lt;287&gt;</a> implement R_DnssrvQuery3.</p><p>All the parameters are as specified by the <span><a href="a90a44f0-f64e-44b0-9e35-a7fc49f6adea" data-linktype="relative-path">R_DnssrvQuery2</a></span>
method with the following exceptions:</p><dl>
<dd>
<div><pre> LONG R_DnssrvQuery3(
   [in]                               DWORD                 dwClientVersion,
   [in]                               DWORD                 dwSettingFlags,
   [in, unique, string]               LPCWSTR               pwszServerName,
   [in, unique, string]               LPCSTR                pszZone,
   [in, unique, string]               LPCWSTR               pszZoneScopeName,
   [in, unique, string]               LPCSTR                pszOperation,
   [out]                              PDWORD                pdwTypeId,
   [out, switch_is(*pdwTypeId)]       DNSSRV_RPC_UNION*     ppData
 );
</pre></div>
</dd></dl><p><b>pwszZoneScopeName: </b>A pointer to a
null-terminated character string that contains the name of the <span><a href="a95b05da-f1fd-4db3-94b4-817fdaa1f642#gt_bbe7722c-420e-48e7-b4bb-9838ff07b9e6" data-linktype="relative-path">zone
scope</a></span> inside the zone or cache scope inside the cache zone to be
queried or a <span><a href="a95b05da-f1fd-4db3-94b4-817fdaa1f642#gt_b20e1dd4-e2fb-44d4-8508-9d9c8ac7ebd7" data-linktype="relative-path">server scope</a></span>
configured on the DNS server. For operations specific to a particular zone
scope or cache scope, this field MUST contain the name of the zone scope or cache
scope. If the value is NULL, then the API is as specified in
R_DnssrvQuery2 (section 3.1.4.7).</p><dl>
<dd>
<p>If pszZone is not NULL and pwszZoneScopeName is not
NULL, pszOperation MUST be set to one of the following values:</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>ScopeInfo</p>
  </td>
  <td>
  <p>On output the value pointed to by pdwTypeId SHOULD be
  set to DNSSRV_TYPEID_ZONE_SCOPE_INFO and ppData MUST point to a structure of
  one of the types specified in <span><a href="7dc5c61a-db9b-4704-a287-a9713f24b0c6" data-linktype="relative-path">DNS_RPC_ZONE_SCOPE_INFO_V1 (section 2.2.13.1.3.1)</a></span>,
  which contains full information about the zone pointed to by pszZone or cache
  if &#34;..cache&#34; is specified in pszZone.</p>
  </td>
 </tr></tbody></table>
</dd></dl><ul><li><p><span><span>  </span></span>If
pszZone is not NULL and pwszZoneScopeName is not NULL, and pszOperation value
is ScopeInfo:</p>
<ul><li><p><span><span> 
</span></span>On input, pdwTypeId MUST be set to DNSSRV_TYPEID_ZONE_SCOPE_INFO.</p>
</li><li><p><span><span> 
</span></span>pwszZoneScopeName MUST be the pointer to the name of the zone
scope or cache scope that is to be queried.</p>
</li><li><p><span><span> 
</span></span>pszZone MUST be the name of the zone in which the zone scope
information is queried, or, for cache scope, it MUST be &#34;..cache&#34;.</p>
</li><li><p><span><span> 
</span></span>ppData MUST be in the format of DNS_RPC_ZONE_SCOPE_INFO_V1.</p>
</li></ul></li></ul><dl>
<dd>
<p>If pszZone is NULL and pwszZoneScopeName is not
NULL, pszOperation MUST be either a property name listed in section <span><a href="e01cf84d-e895-4104-a8da-29d29bf6b4f0" data-linktype="relative-path">3.1.1.3</a></span>
or set to one of the following values:</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>&#34;Forwarders&#34; or
  &#34;DynamicForwarders&#34;</p>
  </td>
  <td>
  <p>On output, the value pointed to by pdwTypeId SHOULD be
  set to DNSSRV_TYPEID_ADDRARRAY and ppData MUST point to a structure as
  specified in <span><a href="56ba5fab-f304-4866-99a4-4f1c1f9247a3" data-linktype="relative-path">DNS_ADDR_ARRAY (section 2.2.3.2.3)</a></span>,
  which contains list of IP address.<a id="Appendix_A_Target_288"></a><a aria-label="Product behavior note 288" href="4a9a3ba3-10eb-430e-b157-1fed0aaf85a5#Appendix_A_288" data-linktype="relative-path">&lt;288&gt;</a></p>
  </td>
 </tr></tbody></table>
</dd></dl><ul><li><p><span><span>  </span></span>If
pszZone is NULL and pwszZoneScopeName is not NULL, and pszOperation value is
Forwarders or DynamicForwarders:</p>
<ul><li><p><span><span> 
</span></span>On input, pdwTypeId MUST be set to DNSSRV_TYPEID_ADDRARRAY.</p>
</li><li><p><span><span> 
</span></span>pwszZoneScopeName MUST be the pointer to the name of the server
scope that is to be queried.</p>
</li><li><p><span><span> 
</span></span>pszZone MUST be NULL.</p>
</li><li><p><span><span> 
</span></span>ppData MUST be in the format of <b>DNS_ADDR_ARRAY</b>.</p>
</li></ul></li></ul></div>