mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-05-05 01:13:12 +03:00
38 lines
1.2 KiB
Zig
38 lines
1.2 KiB
Zig
const std = @import("../../std.zig");
|
|
const windows = std.os.windows;
|
|
|
|
const BOOL = windows.BOOL;
|
|
const DWORD = windows.DWORD;
|
|
const HANDLE = windows.HANDLE;
|
|
const LPCWSTR = windows.LPCWSTR;
|
|
const LPVOID = windows.LPVOID;
|
|
const LPWSTR = windows.LPWSTR;
|
|
const PROCESS = windows.PROCESS;
|
|
const THREAD_START_ROUTINE = windows.THREAD_START_ROUTINE;
|
|
const SECURITY_ATTRIBUTES = windows.SECURITY_ATTRIBUTES;
|
|
const SIZE_T = windows.SIZE_T;
|
|
const STARTUPINFOW = windows.STARTUPINFOW;
|
|
|
|
pub extern "kernel32" fn CreateProcessW(
|
|
lpApplicationName: ?LPCWSTR,
|
|
lpCommandLine: ?LPWSTR,
|
|
lpProcessAttributes: ?*SECURITY_ATTRIBUTES,
|
|
lpThreadAttributes: ?*SECURITY_ATTRIBUTES,
|
|
bInheritHandles: BOOL,
|
|
dwCreationFlags: windows.CreateProcessFlags,
|
|
lpEnvironment: ?[*:0]const u16,
|
|
lpCurrentDirectory: ?LPCWSTR,
|
|
lpStartupInfo: *STARTUPINFOW,
|
|
lpProcessInformation: *PROCESS.INFORMATION,
|
|
) callconv(.winapi) BOOL;
|
|
|
|
// TODO: CreateRemoteThread with hProcess=NtCurrentProcess().
|
|
pub extern "kernel32" fn CreateThread(
|
|
lpThreadAttributes: ?*SECURITY_ATTRIBUTES,
|
|
dwStackSize: SIZE_T,
|
|
lpStartAddress: *const THREAD_START_ROUTINE,
|
|
lpParameter: ?LPVOID,
|
|
dwCreationFlags: DWORD,
|
|
lpThreadId: ?*DWORD,
|
|
) callconv(.winapi) ?HANDLE;
|