<div class="content" name="OBJREF_CUSTOM" uuid="88fdb261-7c9a-41ea-bfac-31583bdc65e6"><p>This form of <a href="ba4c4d80-ef81-49b4-848f-9714d72b5c01#gt_d2b5b331-4e5f-417f-92c5-38eef54176c2" data-linktype="relative-path">OBJREF</a> is used by a server
object to marshal itself into an opaque BLOB using a custom marshaler. The
custom marshaler is a COM object that can marshal and unmarshal the data
contained in the BLOB. The <a href="ba4c4d80-ef81-49b4-848f-9714d72b5c01#gt_e433c806-6cb6-46a2-bb95-523df8818c99" data-linktype="relative-path">CLSID</a>
of the custom marshaler object&#39;s <a href="ba4c4d80-ef81-49b4-848f-9714d72b5c01#gt_a224e395-3fea-48bd-b141-3dd9bee2136a" data-linktype="relative-path">object class</a> is specified
within the OBJREF.</p><p>If the interface specified by the <b>iid</b> field of the
OBJREF structure contained in the OBJREF_CUSTOM has the local <a href="ba4c4d80-ef81-49b4-848f-9714d72b5c01#gt_73177eec-4092-420f-92c5-60b2478df824" data-linktype="relative-path">IDL</a> attribute (section <a href="100ac689-eb4e-4b63-8354-6e064a485d51" data-linktype="relative-path">2.2.27</a>), the OBJREF_CUSTOM
MUST represent an object that is local to the client that unmarshals the
object.</p><table>
 <tbody><tr>
  <th><p><br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>1<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>2<br/>0</p></th>
  <th><p><br/>1</p></th>
  <th><p><br/>2</p></th>
  <th><p><br/>3</p></th>
  <th><p><br/>4</p></th>
  <th><p><br/>5</p></th>
  <th><p><br/>6</p></th>
  <th><p><br/>7</p></th>
  <th><p><br/>8</p></th>
  <th><p><br/>9</p></th>
  <th><p>3<br/>0</p></th>
  <th><p><br/>1</p></th>
 </tr>
 <tr>
  <td colspan="32">clsid (16 bytes)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
 <tr>
  <td colspan="32">cbExtension</td>
 </tr>
 <tr>
  <td colspan="32">reserved</td>
 </tr>
 <tr>
  <td colspan="32">pObjectData (variable)</td>
 </tr>
 <tr>
  <td colspan="32">...</td>
 </tr>
</tbody></table><p><b>clsid (16 bytes): </b>This MUST specify a CLSID,
supplied by an application or higher-layer protocol, identifying an object
class associated with the data in the <b>pObjectData</b> field.<a id="Appendix_A_Target_8"></a><a aria-label="Product behavior note 8" href="acc42954-4073-4f05-b850-efd562022077#Appendix_A_8" data-linktype="relative-path">&lt;8&gt;</a></p><p><b>cbExtension (4 bytes): </b>This MUST be set to
zero when sent and MUST be ignored on receipt.</p><p><b>reserved (4 bytes): </b>Unused. This can be set to
any arbitrary value when sent and MUST be ignored on receipt.</p><p><b>pObjectData (variable): </b>This MUST be an array
of bytes containing data supplied by an application or higher-layer protocol.</p></div>