From a89b83cc9d684b0d5efd7a3e650aa61d5457763c Mon Sep 17 00:00:00 2001 From: Eric Joldasov Date: Tue, 18 Jul 2023 20:52:54 +0600 Subject: [PATCH] std.os.windows.advapi32: add RegGetValueW Signed-off-by: Eric Joldasov --- lib/std/os/windows/advapi32.zig | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/std/os/windows/advapi32.zig b/lib/std/os/windows/advapi32.zig index bace7ce850..ff2719568c 100644 --- a/lib/std/os/windows/advapi32.zig +++ b/lib/std/os/windows/advapi32.zig @@ -33,3 +33,33 @@ pub extern "advapi32" fn RegCloseKey(hKey: HKEY) callconv(WINAPI) LSTATUS; // http://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx */ pub extern "advapi32" fn SystemFunction036(output: [*]u8, length: ULONG) callconv(WINAPI) BOOL; pub const RtlGenRandom = SystemFunction036; + +pub const RRF = struct { + pub const RT_ANY: DWORD = 0x0000ffff; + + pub const RT_DWORD: DWORD = 0x00000018; + pub const RT_QWORD: DWORD = 0x00000048; + + pub const RT_REG_BINARY: DWORD = 0x00000008; + pub const RT_REG_DWORD: DWORD = 0x00000010; + pub const RT_REG_EXPAND_SZ: DWORD = 0x00000004; + pub const RT_REG_MULTI_SZ: DWORD = 0x00000020; + pub const RT_REG_NONE: DWORD = 0x00000001; + pub const RT_REG_QWORD: DWORD = 0x00000040; + pub const RT_REG_SZ: DWORD = 0x00000002; + + pub const NOEXPAND: DWORD = 0x10000000; + pub const ZEROONFAILURE: DWORD = 0x20000000; + pub const SUBKEY_WOW6464KEY: DWORD = 0x00010000; + pub const SUBKEY_WOW6432KEY: DWORD = 0x00020000; +}; + +pub extern "advapi32" fn RegGetValueW( + hkey: HKEY, + lpSubKey: LPCWSTR, + lpValue: LPCWSTR, + dwFlags: DWORD, + pdwType: ?*DWORD, + pvData: ?*anyopaque, + pcbData: ?*DWORD, +) callconv(WINAPI) LSTATUS;