Windows: Rework kernel32 apis
To facilitate #1840, this commit slims `std.windows.kernel32` to only have the functions needed by the standard library. Since this will break projects that relied on these, I offer two solutions: - Make an argument as to why certain functions should be added back in. Note that they may just be wrappers around `ntdll` APIs, which would go against #1840. If necessary I'll add them back in *and* make wrappers in `std.windows` for it. - Maintain your own list of APIs. This is the option taken by bun[1], where they wrap functions with tracing. - Use `zigwin32`. I've also added TODO comments that specify which functions can be reimplemented using `ntdll` APIs in the future. Other changes: - Group functions into groups (I/O, process management etc.). - Synchronize definitions against Microsoft documentation to use the proper parameter types/names. - Break all functions with parameters over multiple lines.
This commit is contained in:
@@ -1987,7 +1987,7 @@ pub const DebugInfo = struct {
|
||||
@memcpy(name_buffer[0..4], &[_]u16{ '\\', '?', '?', '\\' });
|
||||
|
||||
const process_handle = windows.kernel32.GetCurrentProcess();
|
||||
const len = windows.kernel32.K32GetModuleFileNameExW(
|
||||
const len = windows.kernel32.GetModuleFileNameExW(
|
||||
process_handle,
|
||||
module.handle,
|
||||
@ptrCast(&name_buffer[4]),
|
||||
|
||||
Reference in New Issue
Block a user