<div class="content"><p>The DeleteData method deletes specific data entries from a
node in the <a href="1243ba70-74ca-44f9-be0b-dfd6697010b4#gt_086b13f2-2715-4000-a16c-6acc3d59cc19" data-linktype="relative-path">metabase</a>.</p><dl>
<dd>
<div><pre> HRESULT DeleteData(
   [in] METADATA_HANDLE hMDHandle,
   [unique, in, string] LPCWSTR pszMDPath,
   [in] DWORD dwMDIdentifier,
   [in] DWORD dwMDDataType
 );
</pre></div>
</dd></dl><p><b>hMDHandle: </b>An unsigned 32-bit integer value
containing an open metabase handle specifying the node in the metabase where
the key data is to be deleted.</p><p><b>pszMDPath: </b>A pointer to a Unicode string that
contains the path of the node whose data is to be deleted, relative to the path
of the <i>hMDHandle</i> parameter.</p><p><b>dwMDIdentifier: </b>An integer value specifying
the data identifier.</p><p><b>dwMDDataType: </b>An integer value specifying a
data type. If this parameter is not set to ALL_METADATA, the data item will be
removed only if its data type matches the specified type.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>ALL_METADATA</p>
  <p>0x00000000</p>
  </td>
  <td>
  <p>Specifies all data, regardless of type.</p>
  </td>
 </tr><tr>
  <td>
  <p>BINARY_METADATA</p>
  <p>0x00000003</p>
  </td>
  <td>
  <p>Specifies binary data in any form.</p>
  </td>
 </tr><tr>
  <td>
  <p>DWORD_METADATA</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>Specifies all <a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">DWORD</a>
  (unsigned 32-bit integer) data.</p>
  </td>
 </tr><tr>
  <td>
  <p>EXPANDSZ_METADATA</p>
  <p>0x00000004</p>
  </td>
  <td>
  <p>Specifies all data consisting of a string that
  includes the terminating null character, which contains unexpanded
  environment variables.</p>
  </td>
 </tr><tr>
  <td>
  <p>MULTISZ_METADATA</p>
  <p>0x00000005</p>
  </td>
  <td>
  <p>Specifies all data represented as an array of strings,
  where each string contains two occurrences of the terminating null character.</p>
  </td>
 </tr><tr>
  <td>
  <p>STRING_METADATA</p>
  <p>0x00000002</p>
  </td>
  <td>
  <p>Specifies all data consisting of an ASCII string that
  includes the terminating null character.</p>
  </td>
 </tr></tbody></table>
</dd></dl><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><tr>
  <td>
  <p>0x800CC801</p>
  <p>MD_ERROR_DATA_NOT_FOUND</p>
  </td>
  <td>
  <p>The specified metadata was not found.</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 11.</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, return ERROR_INVALID_HANDLE.</p>
</li><li><p><span><span> 
</span></span>The server SHOULD check whether the handle was opened for write
access. If not, return E_ACCESSDENIED.<a id="Appendix_A_Target_8"></a><a aria-label="Product behavior note 8" href="88fd1df0-e63e-41ca-9bf3-bedcab57cd86#Appendix_A_8" data-linktype="relative-path">&lt;8&gt;</a></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 an error.</p>
</li><li><p><span><span> 
</span></span>Check whether the node has data with an ID equal to the ID
parameter passed from the client. If not, return MD_ERROR_DATA_NOT_FOUND.</p>
</li><li><p><span><span> 
</span></span>Check the data type parameter. If it is ALL_METADATA or if the
data type matches the data specified by the <i>dwMDIdentifier</i>, delete this
data from the node. Otherwise return MD_ERROR_DATA_NOT_FOUND.</p>
</li></ul></div>