aboutsummaryrefslogtreecommitdiff
path: root/core/sys
diff options
context:
space:
mode:
authorNicknEma <emanuele.rovini@gmail.com>2025-01-21 10:55:39 +0100
committerNicknEma <emanuele.rovini@gmail.com>2025-01-21 10:55:39 +0100
commit55abf6183687644418a167a9bc2ebbefef09df98 (patch)
treecebad6f905a3cf6c24eb6d48ec77a72b647d76f5 /core/sys
parent68653081be5a5900eaaacf0810a62611d2aeca7e (diff)
Add ACTCTX definition and procs
Diffstat (limited to 'core/sys')
-rw-r--r--core/sys/windows/kernel32.odin28
1 files changed, 28 insertions, 0 deletions
diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin
index f1d7202da..fb5afba8a 100644
--- a/core/sys/windows/kernel32.odin
+++ b/core/sys/windows/kernel32.odin
@@ -1240,3 +1240,31 @@ GHND :: (GMEM_MOVEABLE | GMEM_ZEROINIT)
GPTR :: (GMEM_FIXED | GMEM_ZEROINIT)
LPTOP_LEVEL_EXCEPTION_FILTER :: PVECTORED_EXCEPTION_HANDLER
+
+ACTCTXW :: struct {
+ Size: ULONG,
+ Flags: DWORD,
+ Source: LPCWSTR,
+ ProcessorArchitecture: USHORT,
+ LangId: LANGID,
+ AssemblyDirectory: LPCWSTR,
+ ResourceName: LPCWSTR,
+ ApplicationName: LPCWSTR,
+ Module: HMODULE,
+}
+PACTCTXW :: ^ACTCTXW
+PCACTCTXW :: ^ACTCTXW
+
+ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID :: 0x001
+ACTCTX_FLAG_LANGID_VALID :: 0x002
+ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID :: 0x004
+ACTCTX_FLAG_RESOURCE_NAME_VALID :: 0x008
+ACTCTX_FLAG_SET_PROCESS_DEFAULT :: 0x010
+ACTCTX_FLAG_APPLICATION_NAME_VALID :: 0x020
+ACTCTX_FLAG_HMODULE_VALID :: 0x080
+
+@(default_calling_convention="system")
+foreign kernel32 {
+ CreateActCtxW :: proc(pActCtx: ^ACTCTXW) -> HANDLE ---
+ ActivateActCtx :: proc(hActCtx: HANDLE, lpCookie: ^ULONG_PTR) -> BOOL ---
+}