Skip to content

Commit ac26cc8

Browse files
committed
std.os.windows: add ntdll thread information APIs
1 parent d819b4e commit ac26cc8

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

lib/std/os/windows/ntdll.zig

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,65 @@ pub extern "ntdll" fn RtlCaptureStackBackTrace(
3232
BackTrace: **c_void,
3333
BackTraceHash: ?*DWORD,
3434
) callconv(WINAPI) WORD;
35+
36+
pub const THREADINFOCLASS = enum(c_int) {
37+
ThreadBasicInformation,
38+
ThreadTimes,
39+
ThreadPriority,
40+
ThreadBasePriority,
41+
ThreadAffinityMask,
42+
ThreadImpersonationToken,
43+
ThreadDescriptorTableEntry,
44+
ThreadEnableAlignmentFaultFixup,
45+
ThreadEventPair_Reusable,
46+
ThreadQuerySetWin32StartAddress,
47+
ThreadZeroTlsCell,
48+
ThreadPerformanceCount,
49+
ThreadAmILastThread,
50+
ThreadIdealProcessor,
51+
ThreadPriorityBoost,
52+
ThreadSetTlsArrayAddress,
53+
ThreadIsIoPending,
54+
ThreadHideFromDebugger,
55+
ThreadBreakOnTermination,
56+
ThreadSwitchLegacyState,
57+
ThreadIsTerminated,
58+
ThreadLastSystemCall,
59+
ThreadIoPriority,
60+
ThreadCycleTime,
61+
ThreadPagePriority,
62+
ThreadActualBasePriority,
63+
ThreadTebInformation,
64+
ThreadCSwitchMon,
65+
ThreadCSwitchPmu,
66+
ThreadWow64Context,
67+
ThreadGroupInformation,
68+
ThreadUmsInformation,
69+
ThreadCounterProfiling,
70+
ThreadIdealProcessorEx,
71+
ThreadCpuAccountingInformation,
72+
ThreadSuspendCount,
73+
ThreadHeterogeneousCpuPolicy,
74+
ThreadContainerId,
75+
ThreadNameInformation,
76+
ThreadSelectedCpuSets,
77+
ThreadSystemThreadInformation,
78+
ThreadActualGroupAffinity,
79+
};
80+
pub extern "ntdll" fn NtQueryInformationThread(
81+
ThreadHandle: HANDLE,
82+
ThreadInformationClass: THREADINFOCLASS,
83+
ThreadInformation: *c_void,
84+
ThreadInformationLength: ULONG,
85+
ReturnLength: ?*ULONG,
86+
) callconv(WINAPI) NTSTATUS;
87+
pub extern "ntdll" fn NtSetInformationThread(
88+
ThreadHandle: HANDLE,
89+
ThreadInformationClass: THREADINFOCLASS,
90+
ThreadInformation: *const c_void,
91+
ThreadInformationLength: ULONG,
92+
) callconv(WINAPI) NTSTATUS;
93+
3594
pub extern "ntdll" fn NtQueryInformationFile(
3695
FileHandle: HANDLE,
3796
IoStatusBlock: *IO_STATUS_BLOCK,

0 commit comments

Comments
 (0)