master
1const std = @import("../../std.zig");
2const windows = std.os.windows;
3const BOOL = windows.BOOL;
4const DWORD = windows.DWORD;
5const HKEY = windows.HKEY;
6const BYTE = windows.BYTE;
7const LPCWSTR = windows.LPCWSTR;
8const LSTATUS = windows.LSTATUS;
9const REGSAM = windows.REGSAM;
10const ULONG = windows.ULONG;
11
12pub extern "advapi32" fn RegOpenKeyExW(
13 hKey: HKEY,
14 lpSubKey: LPCWSTR,
15 ulOptions: DWORD,
16 samDesired: REGSAM,
17 phkResult: *HKEY,
18) callconv(.winapi) LSTATUS;
19
20pub extern "advapi32" fn RegQueryValueExW(
21 hKey: HKEY,
22 lpValueName: LPCWSTR,
23 lpReserved: ?*DWORD,
24 lpType: ?*DWORD,
25 lpData: ?*BYTE,
26 lpcbData: ?*DWORD,
27) callconv(.winapi) LSTATUS;
28
29pub extern "advapi32" fn RegCloseKey(hKey: HKEY) callconv(.winapi) LSTATUS;
30
31// RtlGenRandom is known as SystemFunction036 under advapi32
32// http://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx */
33pub extern "advapi32" fn SystemFunction036(output: [*]u8, length: ULONG) callconv(.winapi) BOOL;
34pub const RtlGenRandom = SystemFunction036;
35
36pub const RRF = struct {
37 pub const RT_ANY: DWORD = 0x0000ffff;
38
39 pub const RT_DWORD: DWORD = 0x00000018;
40 pub const RT_QWORD: DWORD = 0x00000048;
41
42 pub const RT_REG_BINARY: DWORD = 0x00000008;
43 pub const RT_REG_DWORD: DWORD = 0x00000010;
44 pub const RT_REG_EXPAND_SZ: DWORD = 0x00000004;
45 pub const RT_REG_MULTI_SZ: DWORD = 0x00000020;
46 pub const RT_REG_NONE: DWORD = 0x00000001;
47 pub const RT_REG_QWORD: DWORD = 0x00000040;
48 pub const RT_REG_SZ: DWORD = 0x00000002;
49
50 pub const NOEXPAND: DWORD = 0x10000000;
51 pub const ZEROONFAILURE: DWORD = 0x20000000;
52 pub const SUBKEY_WOW6464KEY: DWORD = 0x00010000;
53 pub const SUBKEY_WOW6432KEY: DWORD = 0x00020000;
54};
55
56pub extern "advapi32" fn RegGetValueW(
57 hkey: HKEY,
58 lpSubKey: LPCWSTR,
59 lpValue: LPCWSTR,
60 dwFlags: DWORD,
61 pdwType: ?*DWORD,
62 pvData: ?*anyopaque,
63 pcbData: ?*DWORD,
64) callconv(.winapi) LSTATUS;
65
66pub extern "advapi32" fn RegLoadAppKeyW(
67 lpFile: LPCWSTR,
68 phkResult: *HKEY,
69 samDesired: REGSAM,
70 dwOptions: DWORD,
71 reserved: DWORD,
72) callconv(.winapi) LSTATUS;