mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Add GetStartupInfoW. Rename StartupInfo to StartupInfoW.
This commit is contained in:
@@ -52,7 +52,7 @@ foreign advapi32 {
|
|||||||
dwCreationFlags: DWORD,
|
dwCreationFlags: DWORD,
|
||||||
lpEnvironment: LPVOID,
|
lpEnvironment: LPVOID,
|
||||||
lpCurrentDirectory: wstring,
|
lpCurrentDirectory: wstring,
|
||||||
lpStartupInfo: LPSTARTUPINFO,
|
lpStartupInfo: LPSTARTUPINFOW,
|
||||||
lpProcessInformation: LPPROCESS_INFORMATION,
|
lpProcessInformation: LPPROCESS_INFORMATION,
|
||||||
) -> BOOL ---
|
) -> BOOL ---
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ foreign advapi32 {
|
|||||||
dwCreationFlags: DWORD,
|
dwCreationFlags: DWORD,
|
||||||
lpEnvironment: LPVOID,
|
lpEnvironment: LPVOID,
|
||||||
lpCurrentDirectory: wstring,
|
lpCurrentDirectory: wstring,
|
||||||
lpStartupInfo: LPSTARTUPINFO,
|
lpStartupInfo: LPSTARTUPINFOW,
|
||||||
lpProcessInformation: LPPROCESS_INFORMATION,
|
lpProcessInformation: LPPROCESS_INFORMATION,
|
||||||
) -> BOOL ---
|
) -> BOOL ---
|
||||||
|
|
||||||
|
|||||||
@@ -193,9 +193,10 @@ foreign kernel32 {
|
|||||||
dwCreationFlags: DWORD,
|
dwCreationFlags: DWORD,
|
||||||
lpEnvironment: LPVOID,
|
lpEnvironment: LPVOID,
|
||||||
lpCurrentDirectory: LPCWSTR,
|
lpCurrentDirectory: LPCWSTR,
|
||||||
lpStartupInfo: LPSTARTUPINFO,
|
lpStartupInfo: LPSTARTUPINFOW,
|
||||||
lpProcessInformation: LPPROCESS_INFORMATION,
|
lpProcessInformation: LPPROCESS_INFORMATION,
|
||||||
) -> BOOL ---
|
) -> BOOL ---
|
||||||
|
GetStartupInfoW :: proc(lpStartupInfo: LPSTARTUPINFOW) ---
|
||||||
GetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPWSTR, nsize: DWORD) -> DWORD ---
|
GetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPWSTR, nsize: DWORD) -> DWORD ---
|
||||||
SetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPCWSTR) -> BOOL ---
|
SetEnvironmentVariableW :: proc(n: LPCWSTR, v: LPCWSTR) -> BOOL ---
|
||||||
GetEnvironmentStringsW :: proc() -> LPWCH ---
|
GetEnvironmentStringsW :: proc() -> LPWCH ---
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ LPOVERLAPPED :: ^OVERLAPPED
|
|||||||
LPPROCESS_INFORMATION :: ^PROCESS_INFORMATION
|
LPPROCESS_INFORMATION :: ^PROCESS_INFORMATION
|
||||||
PSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES
|
PSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES
|
||||||
LPSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES
|
LPSECURITY_ATTRIBUTES :: ^SECURITY_ATTRIBUTES
|
||||||
LPSTARTUPINFO :: ^STARTUPINFO
|
LPSTARTUPINFOW :: ^STARTUPINFOW
|
||||||
LPTRACKMOUSEEVENT :: ^TRACKMOUSEEVENT
|
LPTRACKMOUSEEVENT :: ^TRACKMOUSEEVENT
|
||||||
VOID :: rawptr
|
VOID :: rawptr
|
||||||
PVOID :: rawptr
|
PVOID :: rawptr
|
||||||
@@ -2418,8 +2418,7 @@ PROCESS_INFORMATION :: struct {
|
|||||||
dwThreadId: DWORD,
|
dwThreadId: DWORD,
|
||||||
}
|
}
|
||||||
|
|
||||||
// FYI: This is STARTUPINFOW, not STARTUPINFOA
|
STARTUPINFOW :: struct {
|
||||||
STARTUPINFO :: struct {
|
|
||||||
cb: DWORD,
|
cb: DWORD,
|
||||||
lpReserved: LPWSTR,
|
lpReserved: LPWSTR,
|
||||||
lpDesktop: LPWSTR,
|
lpDesktop: LPWSTR,
|
||||||
|
|||||||
@@ -457,8 +457,8 @@ run_as_user :: proc(username, password, application, commandline: string, pi: ^P
|
|||||||
// err := GetLastError();
|
// err := GetLastError();
|
||||||
// fmt.printf("GetLastError: %v\n", err);
|
// fmt.printf("GetLastError: %v\n", err);
|
||||||
}
|
}
|
||||||
si := STARTUPINFO{}
|
si := STARTUPINFOW{}
|
||||||
si.cb = size_of(STARTUPINFO)
|
si.cb = size_of(STARTUPINFOW)
|
||||||
pi := pi
|
pi := pi
|
||||||
|
|
||||||
ok = bool(CreateProcessAsUserW(
|
ok = bool(CreateProcessAsUserW(
|
||||||
|
|||||||
Reference in New Issue
Block a user