GetCurrentThread-Funktion (processthreadsapi.h)

Ruft ein Pseudohandle für den aufrufenden Thread ab.

Syntax

HANDLE GetCurrentThread();

Rückgabewert

Der Rückgabewert ist ein Pseudohandle für den aktuellen Thread.

Hinweise

Ein Pseudohandle ist eine spezielle Konstante, die als aktuelles Threadhandle interpretiert wird. Der aufrufende Thread kann dieses Handle verwenden, um sich selbst anzugeben, wenn ein Threadhandle erforderlich ist. Pseudohandles werden nicht von untergeordneten Prozessen geerbt.

Dieses Handle verfügt über das THREAD_ALL_ACCESS Zugriffsrecht auf das Threadobjekt. Weitere Informationen finden Sie unter Threadsicherheit und Zugriffsrechte.

Windows Server 2003 und Windows XP: Dieses Handle verfügt über den maximalen Zugriff, der vom Sicherheitsdeskriptor des Threads auf das primäre Token des Prozesses zulässig ist.

Die Funktion kann nicht von einem Thread verwendet werden, um ein Handle zu erstellen, das von anderen Threads verwendet werden kann, um auf den ersten Thread zu verweisen. Das Handle wird immer so interpretiert, dass es sich auf den Thread bezieht, der es verwendet. Ein Thread kann sich selbst ein "echtes" Handle erstellen, das von anderen Threads verwendet oder von anderen Prozessen geerbt werden kann, indem er das Pseudohandle als Quellhandle in einem Aufruf der DuplicateHandle-Funktion angibt.

Das Pseudohandle muss nicht geschlossen werden, wenn es nicht mehr benötigt wird. Das Aufrufen der CloseHandle-Funktion mit diesem Handle hat keine Auswirkung. Wenn das Pseudohandle von DuplicateHandle dupliziert wird, muss das doppelte Handle geschlossen werden.

Erstellen Sie keinen Thread, während Sie die Identität eines Sicherheitskontexts annehmen. Der Aufruf ist erfolgreich, der neu erstellte Thread verfügt jedoch über eingeschränkte Zugriffsrechte für sich selbst, wenn GetCurrentThread aufgerufen wird. Die diesem Thread gewährten Zugriffsrechte werden von den Zugriffsrechten abgeleitet, die der imitierte Benutzer für den Prozess hat. Einige Zugriffsrechte, einschließlich THREAD_SET_THREAD_TOKEN und THREAD_GET_CONTEXT , sind möglicherweise nicht vorhanden, was zu unerwarteten Fehlern führt.

Beispiele

Ein Beispiel finden Sie unter Überprüfen des Clientzugriffs.

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 processthreadsapi.h (enthalten Windows.h unter Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CloseHandle

DuplicateHandle

GetCurrentProcess

GetCurrentThreadId

OpenThread

Prozess- und Threadfunktionen

Threads

In VBS-Enclaves verfügbare Vertdll-APIs