Freigeben über


ImpersonateAnonymousToken-Funktion (securitybaseapi.h)

Mit der Funktion ImpersonateAnonymousToken kann der angegebene Thread die Identität des anonymen Anmeldetokens des Systems annehmen. Um sicherzustellen, dass ein Token mit dem Konzept des anonymen Zugriffs des Betriebssystems übereinstimmt, sollte diese Funktion aufgerufen werden, bevor versucht wird, auf dem Remoteserver ein anonymes Token zu generieren.

Syntax

BOOL ImpersonateAnonymousToken(
  [in] HANDLE ThreadHandle
);

Parameter

[in] ThreadHandle

Ein Handle für den Thread zum Annehmen der Identität des anonymen Anmeldetokens des Systems. Das Threadhandle muss über das THREAD_IMPERSONATE Zugriffsrecht verfügen, damit der Thread die Identität des anonymen Anmeldetokens des Systems annehmen kann.

Um diesen Zugriff zu gewähren, muss der Thread durch Aufrufen von OpenThread mit dem gewünschten Zugriffsrecht für THREAD_IMPERSONATE geöffnet werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Ein Fehler von ACCESS_DENIED kann darauf hindeuten, dass das Token für einen eingeschränkten Prozess gilt. Verwenden Sie OpenProcessToken und IsTokenRestricted , um zu überprüfen, ob der Prozess eingeschränkt ist. ACCESS_DENIED wird auch zurückgegeben, wenn das Threadhandle keinen richtigen Zugriff auf THREAD_IMPERSONATE hat.

Hinweise

Anonyme Token enthalten die Gruppen-SID "Jeder" nicht, es sei denn, der Systemstandard wurde durch Festlegen des registrierungswerts HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\EveryoneIncludesAnonymous auf DWORD=1 überschrieben.

Um den Identitätswechsel abzubrechen, rufen Sie RevertToSelf auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile securitybaseapi.h (Einschließen von Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen