FVBUSICOULOUR 15
GetThreadId - W2000,XP
Sonntag, 30. März 2008 um 03:02
Procedure GetThreadId(hThread.l) ; NT  
Protected Status
Protected tbi.THREAD_BASIC_INFORMATION
Protected hDupHandle
Protected hCurrentProcess

hCurrentProcess = GetCurrentProcess_()

If Not DuplicateHandle_(hCurrentProcess,hThread,hCurrentProcess,@hDupHandle,#THREAD_QUERY_INFORMATION,#False,0)
SetLastError_(#ERROR_ACCESS_DENIED)
ProcedureReturn 0
EndIf

Status = NtQueryInformationThread_(hDupHandle,0,@tbi,SizeOf(tbi),0)

CloseHandle_(hDupHandle)

If Not Status >= 0
SetLastError_(RtlNtStatusToDosError_(Status));
ProcedureReturn 0
EndIf

ProcedureReturn tbi\ClientId\UniqueThread
EndProcedure
 
Kommentare (1)
1 Samstag, 07. Januar 2012 um 17:59
josh
THREAD_BASIC_INFORMATION is not found (using PB 4.60)
© 2012 www.realsource.de
free Joomla Template by funky-visions.de powered by greatnet.de Webhosting