The GetThreadSelectorEntry function retrieves a descriptor table entry for the specified selector and thread.
BOOL GetThreadSelectorEntry(
HANDLE hThread, | // handle of thread that contains selector |
DWORD dwSelector, | // number of selector value to look up |
LPLDT_ENTRY lpSelectorEntry | // address of selector entry structure |
); |
Parameters
hThread
Identifies a handle of the thread containing the specified selector.
Windows NT: The handle must have THREAD_QUERY_INFORMATION access. For more information, see Thread Objects.
dwSelector
Specifies the global or local selector value to look up in the thread's descriptor tables.
lpSelectorEntry
Points to a structure that receives a copy of the descriptor table entry if the specified selector has an entry in the specified thread's descriptor table. This information can be used to convert a segment-relative address to a linear virtual address.
Return Values
If the function succeeds, the return value is nonzero. In that case, the structure pointed to by the lpSelectorEntry parameter receives a copy of the specified descriptor table entry.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
GetThreadSelectorEntry is only functional on x86-based systems. For systems that are not x86-based, the function returns FALSE.
Debuggers use this function to convert segment-relative addresses to linear virtual addresses. The ReadProcessMemory and WriteProcessMemory functions use linear virtual addresses.
See Also