<div class="content"><p>The GetIpConfigSerialized method queries the <a href="4e68c532-eb40-46bd-84c3-3089de921255" data-linktype="relative-path">network adapter configuration</a>
and returns select information about the adapters.</p><p>The server SHOULD support this method even if the server <b>Initialization
State</b> is FALSE.</p><dl>
<dd>
<div><pre> HRESULT GetIpConfigSerialized(
   [in] BOOLEAN ApplyClusterFilter,
   [out] SAFEARRAY( byte )* Data,
   [out] int* pcbOut
 );
</pre></div>
</dd></dl><p><b>ApplyClusterFilter: </b>A flag that indicates
which adapters to return. If FALSE, then all adapters MUST be returned. If
TRUE, then all nonfiltered adapters MUST be returned. Adapters that MUST be
filtered are cluster adapters (as specified in the <b>ClusterAdapter</b> field
of the <a href="6b19652b-ea18-420e-9971-53d909e70796" data-linktype="relative-path">ADAPTER2</a> <a id="Appendix_A_Target_27"></a><a aria-label="Product behavior note 27" href="6ea29e14-9c33-4927-90a8-258fd1d6d042#Appendix_A_27" data-linktype="relative-path">&lt;27&gt;</a> structure), loopback adapters,
and tunnel adapters.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>TRUE</p>
  <p>-128 — -1</p>
  </td>
  <td>
  <p>Return all nonfiltered adapters.</p>
  </td>
 </tr><tr>
  <td>
  <p>FALSE</p>
  <p>0</p>
  </td>
  <td>
  <p>Return all adapters.</p>
  </td>
 </tr><tr>
  <td>
  <p>TRUE</p>
  <p>1 — 128</p>
  </td>
  <td>
  <p>Return all nonfiltered adapters.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>Data: </b>A buffer that, on success, SHOULD<a id="Appendix_A_Target_28"></a><a aria-label="Product behavior note 28" href="6ea29e14-9c33-4927-90a8-258fd1d6d042#Appendix_A_28" data-linktype="relative-path">&lt;28&gt;</a> contain a valid <a href="4d30c933-29d0-44d7-9772-4620ce17f4c2" data-linktype="relative-path">ADAPTERLIST2</a> structure.
The client MUST ignore all <b>Guid</b> items in the ADAPTERLIST2 structure
except for those <b>Guid</b> items ranging from the first item through the
count of 2 multiplied by the value of <b>NumberOfAdapters</b>.</p><p><b>pcbOut: </b>MUST be the size of the <i>Data</i>
buffer, in bytes.</p><p><b>Return Values: </b>A signed 32-bit value that
indicates return status. If the method returns a negative value, it has failed.
Zero or positive values indicate success, with the lower 16 bits in positive
nonzero values containing warnings or flags defined in the method
implementation. For more information about Win32 error codes and <a href="../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac" data-linktype="relative-path">HRESULT</a>
values, see <a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a>
sections <a href="../ms-erref/18d8fbe8-a967-4f1c-ae50-99ca8e491d2d" data-linktype="relative-path">2.2</a>
and <a href="../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a" data-linktype="relative-path">2.1</a>.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>0x00000000</p>
  <p>S_OK</p>
  </td>
  <td>
  <p>The call was successful.</p>
  </td>
 </tr></tbody></table>
</dd>
<dd>
<p>For any other condition, this method MUST return a
value that is not one of the values listed in the preceding table. The client
MUST behave in one consistent, identical manner for all values that are not
listed in the preceding table.</p>
</dd></dl><p>Exceptions Thrown: No exceptions are thrown beyond those
thrown by the underlying <a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a>
protocol <a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a>.</p><p>The <a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_e127848e-c66d-427d-b3aa-9f904fa4ada7" data-linktype="relative-path">opnum</a>
field value for this method is 5.</p><p>When processing this call, the server MUST do the following:</p><ul><li><p><span><span> 
</span></span>Query the network adapter configuration using an
implementation-specific method.</p>
</li><li><p><span><span> 
</span></span>Filter out adapters as required by the <i>ApplyClusterFilter</i>
parameter.</p>
</li><li><p><span><span> 
</span></span>Format the data as an ADAPTERLIST2 structure.</p>
</li></ul><p>Return the following information to the client:</p><ul><li><p><span><span> 
</span></span>Return the adapter data via the <i>Data</i> parameter.</p>
</li><li><p><span><span> 
</span></span>Return the size, in bytes, of <i>Data</i> via the <i>pcbOut</i>
parameter.</p>
</li></ul></div>