<div class="content" name="SwapNtmsMedia" uuid="4fcd66c7-9892-461f-be35-6883f121291b"><p>The SwapNtmsMedia method swaps the position of two media <a href="8d988f06-72be-47cf-9e09-9060aa8ed897#gt_55db62c5-a84f-43b7-a037-b44ecd8fb92f" data-linktype="relative-path">sides</a>.</p><dl>
<dd>
<div><pre> HRESULT SwapNtmsMedia(
   [in] LPNTMS_GUID lpMediaId1,
   [in] LPNTMS_GUID lpMediaId2
 );
</pre></div>
</dd></dl><p><b>lpMediaId1: </b>A pointer to the identifier of a <a href="8d988f06-72be-47cf-9e09-9060aa8ed897#gt_05349689-4cd0-4643-a13e-9f552ecf3346" data-linktype="relative-path">logical medium</a>.</p><p><b>lpMediaId2: </b> A pointer to the identifier of a
logical medium.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000000 S_OK</td>
  <td>The call was successful.</td>
 </tr><tr>
  <td>0x80070005 ERROR_ACCESS_DENIED</td>
  <td>NTMS_MODIFY_ACCESS to the library is denied; other security errors are possible, but indicate a security subsystem error.</td>
 </tr><tr>
  <td>0x80070008 ERROR_NOT_ENOUGH_MEMORY</td>
  <td>An allocation error occurred during processing.</td>
 </tr><tr>
  <td>0x8007000B ERROR_BAD_FORMAT</td>
  <td>No media label library recognizes the media label.</td>
 </tr><tr>
  <td>0x80070057 ERROR_INVALID_PARAMETER</td>
  <td>At least one media identifier is missing.</td>
 </tr><tr>
  <td>0x800710CC ERROR_INVALID_MEDIA</td>
  <td>A media identifier is invalid.</td>
 </tr><tr>
  <td>0x800710CE ERROR_INVALID_MEDIA_POOL</td>
  <td>A media pool of the logical media is invalid.</td>
 </tr><tr>
  <td>0x800710D9 ERROR_DATABASE_FAILURE</td>
  <td>The database is inaccessible or damaged.</td>
 </tr><tr>
  <td>0x800710DA ERROR_DATABASE_FULL</td>
  <td>The database is full.</td>
 </tr></tbody></table>
</dd></dl><p>Upon receiving this message, the server MUST verify that
both <i>lpMediaId1</i> and <i>lpMediaId2</i> are not NULL. If parameter
validation fails, the server MUST immediately fail the operation and return
ERROR_INVALID_PARAMETER (0x80070057).</p><p>If parameter validation succeeds, the server MUST verify
that the user has the required access rights. If the client does not have the
required access rights, the server MUST return ERROR_ACCESS_DENIED
(0x80070005).</p><p>The SwapNtmsMedia method swaps the sides that are associated
with the two specified LMIDs.</p><p>If the media are not in the NTMS_PARTSTATE_ALLOCATED state
of the <a href="bdf99d44-7849-4a94-93ec-270a3e8c4eb3" data-linktype="relative-path">NtmsPartitionState</a>
enumeration, the server MUST return ERROR_INVALID_STATE (0x8007139F).</p><p>The SwapNtmsMedia method MUST be implemented in such a way
that it updates <a href="8d988f06-72be-47cf-9e09-9060aa8ed897#gt_9036b269-4f3b-4353-a1d0-54f5c686ec2c" data-linktype="relative-path">physical
media</a> without affecting the application. For this method to succeed, the
media for both LMIDs MUST NOT be in use. If any of the media is in use, the
server MUST return ERROR_INVALID_MEDIA (0x800710CC).</p></div>