DuplicateToken-Funktion (securitybaseapi.h)
Die DuplicateToken-Funktion erstellt ein neues Zugriffstoken , das ein bereits vorhandenes dupliziert.
Syntax
BOOL DuplicateToken(
[in] HANDLE ExistingTokenHandle,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[out] PHANDLE DuplicateTokenHandle
);
Parameter
[in] ExistingTokenHandle
Ein Handle für ein Zugriffstoken, das mit TOKEN_DUPLICATE Zugriff geöffnet wird.
[in] ImpersonationLevel
Gibt einen SECURITY_IMPERSONATION_LEVEL aufgezählten Typ an, der die Identitätswechselebene des neuen Tokens bereitstellt.
[out] DuplicateTokenHandle
Ein Zeiger auf eine Variable, die ein Handle für das doppelte Token empfängt. Dieses Handle verfügt über TOKEN_IMPERSONATE und TOKEN_QUERY Zugriff auf das neue Token.
Wenn Sie die Verwendung des neuen Tokens abgeschlossen haben, rufen Sie die CloseHandle-Funktion auf, um das Tokenhandle zu schließen.
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.
Hinweise
Die DuplicateToken-Funktion erstellt ein Identitätswechseltoken, das Sie in Funktionen wie SetThreadToken und ImpersonateLoggedOnUser verwenden können. Das von DuplicateToken erstellte Token kann nicht in der CreateProcessAsUser-Funktion verwendet werden, die ein primäres Token erfordert. Verwenden Sie die DuplicateTokenEx-Funktion, um ein Token zu erstellen, das Sie an CreateProcessAsUser übergeben können.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | securitybaseapi.h (Einschließen von Windows.h) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |