title: Does SetThreadToken() keep the impersonation token alive?
body: <p>While the main thread impersonates a client, my code creates a thread and assigns it the impersonation token using <code>SetThreadToken</code>. Then the main thread closes the token.</p>
  
  <p>Specifically, the main thread does this:</p>
  
  <ol>
  <li>Get a primary token using <code>LogonUser</code>.</li>
  <li>Get an impersonation token using <code>DuplicateToken</code> from the primary token.</li>
  <li>Call <code>ImpersonateLoggedOnUser</code>.</li>
  <li>Spawn a secondary thread and call <code>SetThreadToken</code> on the thread with the impersonation token.</li>
  <li><code>RevertToSelf</code>.</li>
  <li><code>CloseHandle</code> on both the impersonation and the primary token.</li>
  </ol>
  
  <p>At this point, the secondary thread is still running. Does the impersonation token remain usable for the secondary thread even though the token handle has been closed in the main thread?</p>