<div class="content"><p>The DeleteChildKeys method deletes all subnodes of the
specified node and any data they contain. It also recursively deletes all nodes
below the subnodes.</p><dl>
<dd>
<div><pre> HRESULT DeleteChildKeys(
   [in] METADATA_HANDLE hMDHandle,
   [unique, in, string] LPCWSTR pszMDPath
 );
</pre></div>
</dd></dl><p><b>hMDHandle: </b>An unsigned 32-bit integer value
containing an open <a href="1243ba70-74ca-44f9-be0b-dfd6697010b4#gt_086b13f2-2715-4000-a16c-6acc3d59cc19" data-linktype="relative-path">metabase</a>
handle specifying the node in the metabase where the child key is to be
deleted.</p><p><b>pszMDPath: </b>A pointer to a Unicode string that
contains the path of the node whose subnodes are to be deleted, relative to the
path of the <i>hMDHandle</i> parameter.</p><p><b>Return Values: </b>A signed 32-bit value that
indicates return status. If the method returns a negative value, it failed. If
the 12-bit facility code (bits 16–27) is set to 0x007, the value contains a
Win32 error code in the lower 16 bits. 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>.</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><tr>
  <td>
  <p>0x80070003</p>
  <p>ERROR_PATH_NOT_FOUND</p>
  </td>
  <td>
  <p>The system cannot find the path specified.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x80070005</p>
  <p>E_ACCESSDENIED</p>
  </td>
  <td>
  <p>General access denied error.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x80070006</p>
  <p>ERROR_INVALID_HANDLE</p>
  </td>
  <td>
  <p>The handle is invalid.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p>The <a href="1243ba70-74ca-44f9-be0b-dfd6697010b4#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 <a href="1243ba70-74ca-44f9-be0b-dfd6697010b4#gt_434b0234-e970-4e8c-bdfa-e16a30d96703" data-linktype="relative-path">server</a> MUST do the
following:</p><ul><li><p><span><span> 
</span></span>Check the handle parameter. This handle is valid if it is either
the master root handle or a handle returned from a previous <a href="a54be1d0-009a-493d-a53e-e2f7fbe87293" data-linktype="relative-path">OpenKey</a> call. If the
handle is invalid, the server SHOULD return ERROR_INVALID_HANDLE.<a id="Appendix_A_Target_7"></a><a aria-label="Product behavior note 7" href="88fd1df0-e63e-41ca-9bf3-bedcab57cd86#Appendix_A_7" data-linktype="relative-path">&lt;7&gt;</a></p>
</li><li><p><span><span> 
</span></span>Check whether the handle was opened for write access. If not,
return E_ACCESSDENIED.</p>
</li><li><p><span><span> 
</span></span>Check whether the relative path points to the existing subnode of
the parent handle. If not, return ERROR_PATH_NOT_FOUND.</p>
</li><li><p><span><span> 
</span></span>Delete all child nodes of this subnode.</p>
</li></ul></div>