From 1f3a4fa54c138eafec9b42eaac37454678260cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20M=C3=BCller?= Date: Tue, 18 Jun 2024 22:52:15 +0200 Subject: [PATCH] Remove calls to `Pointer.new(Int)` (#14683) --- src/crystal/system/win32/thread_mutex.cr | 2 +- src/crystal/tracing.cr | 2 +- src/lib_c/aarch64-android/c/sys/mman.cr | 2 +- src/lib_c/aarch64-darwin/c/dlfcn.cr | 2 +- src/lib_c/aarch64-darwin/c/sys/mman.cr | 2 +- src/lib_c/aarch64-linux-gnu/c/sys/mman.cr | 2 +- src/lib_c/aarch64-linux-musl/c/dlfcn.cr | 2 +- src/lib_c/aarch64-linux-musl/c/sys/mman.cr | 2 +- src/lib_c/arm-linux-gnueabihf/c/sys/mman.cr | 2 +- src/lib_c/i386-linux-gnu/c/sys/mman.cr | 2 +- src/lib_c/i386-linux-musl/c/dlfcn.cr | 2 +- src/lib_c/i386-linux-musl/c/sys/mman.cr | 2 +- src/lib_c/x86_64-darwin/c/dlfcn.cr | 2 +- src/lib_c/x86_64-darwin/c/sys/mman.cr | 2 +- src/lib_c/x86_64-dragonfly/c/dlfcn.cr | 2 +- src/lib_c/x86_64-dragonfly/c/sys/mman.cr | 2 +- src/lib_c/x86_64-freebsd/c/dlfcn.cr | 2 +- src/lib_c/x86_64-freebsd/c/sys/mman.cr | 2 +- src/lib_c/x86_64-linux-gnu/c/sys/mman.cr | 2 +- src/lib_c/x86_64-linux-musl/c/dlfcn.cr | 2 +- src/lib_c/x86_64-linux-musl/c/sys/mman.cr | 2 +- src/lib_c/x86_64-netbsd/c/dlfcn.cr | 2 +- src/lib_c/x86_64-netbsd/c/sys/mman.cr | 2 +- src/lib_c/x86_64-openbsd/c/dlfcn.cr | 2 +- src/lib_c/x86_64-openbsd/c/sys/mman.cr | 2 +- src/lib_c/x86_64-solaris/c/dlfcn.cr | 2 +- src/lib_c/x86_64-solaris/c/sys/mman.cr | 2 +- src/lib_c/x86_64-windows-msvc/c/handleapi.cr | 2 +- src/lib_c/x86_64-windows-msvc/c/winreg.cr | 14 +++++++------- 29 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/crystal/system/win32/thread_mutex.cr b/src/crystal/system/win32/thread_mutex.cr index 559af6acb4f0..44c1ab8a9679 100644 --- a/src/crystal/system/win32/thread_mutex.cr +++ b/src/crystal/system/win32/thread_mutex.cr @@ -37,7 +37,7 @@ class Thread def unlock : Nil # `owningThread` is declared as `LibC::HANDLE` for historical reasons, so # the following comparison is correct - unless @cs.owningThread == LibC::HANDLE.new(LibC.GetCurrentThreadId) + unless @cs.owningThread == LibC::HANDLE.new(LibC.GetCurrentThreadId.to_u64!) raise RuntimeError.new "Attempt to unlock a mutex locked by another thread" end LibC.LeaveCriticalSection(self) diff --git a/src/crystal/tracing.cr b/src/crystal/tracing.cr index 708956ad8feb..ad3ae184a54a 100644 --- a/src/crystal/tracing.cr +++ b/src/crystal/tracing.cr @@ -141,7 +141,7 @@ module Crystal {% if flag?(:win32) %} handle = LibC.CreateFileW(filename, LibC::FILE_GENERIC_WRITE, LibC::DEFAULT_SHARE_MODE, nil, LibC::CREATE_ALWAYS, LibC::FILE_ATTRIBUTE_NORMAL, LibC::HANDLE.null) # not using LibC::INVALID_HANDLE_VALUE because it doesn't exist (yet) - return handle.address unless handle == LibC::HANDLE.new(-1) + return handle.address unless handle == LibC::HANDLE.new(-1.to_u64!) error = uninitialized UInt16[256] len = LibC.FormatMessageW(LibC::FORMAT_MESSAGE_FROM_SYSTEM, nil, WinError.value, 0, error, error.size, nil) diff --git a/src/lib_c/aarch64-android/c/sys/mman.cr b/src/lib_c/aarch64-android/c/sys/mman.cr index b38ec92b9f0e..cf8525cbf3a9 100644 --- a/src/lib_c/aarch64-android/c/sys/mman.cr +++ b/src/lib_c/aarch64-android/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = LibC::MAP_ANONYMOUS MAP_ANONYMOUS = 0x20 - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/aarch64-darwin/c/dlfcn.cr b/src/lib_c/aarch64-darwin/c/dlfcn.cr index e4f1dffc933e..25c53eaeba2a 100644 --- a/src/lib_c/aarch64-darwin/c/dlfcn.cr +++ b/src/lib_c/aarch64-darwin/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 0x8 RTLD_LOCAL = 0x4 RTLD_DEFAULT = Pointer(Void).new(-2) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/aarch64-darwin/c/sys/mman.cr b/src/lib_c/aarch64-darwin/c/sys/mman.cr index e9e65125c3eb..dc5f1e79d6c7 100644 --- a/src/lib_c/aarch64-darwin/c/sys/mman.cr +++ b/src/lib_c/aarch64-darwin/c/sys/mman.cr @@ -9,7 +9,7 @@ lib LibC MAP_PRIVATE = 0x0002 MAP_SHARED = 0x0001 MAP_ANON = 0x1000 - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/aarch64-linux-gnu/c/sys/mman.cr b/src/lib_c/aarch64-linux-gnu/c/sys/mman.cr index 8c44b210a24e..0b6e318b8d2d 100644 --- a/src/lib_c/aarch64-linux-gnu/c/sys/mman.cr +++ b/src/lib_c/aarch64-linux-gnu/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = LibC::MAP_ANONYMOUS MAP_ANONYMOUS = 0x20 - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/aarch64-linux-musl/c/dlfcn.cr b/src/lib_c/aarch64-linux-musl/c/dlfcn.cr index 2f48a19e8092..b0dc20d93f1a 100644 --- a/src/lib_c/aarch64-linux-musl/c/dlfcn.cr +++ b/src/lib_c/aarch64-linux-musl/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 256 RTLD_LOCAL = 0 RTLD_DEFAULT = Pointer(Void).new(0) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/aarch64-linux-musl/c/sys/mman.cr b/src/lib_c/aarch64-linux-musl/c/sys/mman.cr index 4dd11dad0918..b0ce2d629a81 100644 --- a/src/lib_c/aarch64-linux-musl/c/sys/mman.cr +++ b/src/lib_c/aarch64-linux-musl/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = 0x20 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 0 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/arm-linux-gnueabihf/c/sys/mman.cr b/src/lib_c/arm-linux-gnueabihf/c/sys/mman.cr index 8c44b210a24e..0b6e318b8d2d 100644 --- a/src/lib_c/arm-linux-gnueabihf/c/sys/mman.cr +++ b/src/lib_c/arm-linux-gnueabihf/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = LibC::MAP_ANONYMOUS MAP_ANONYMOUS = 0x20 - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/i386-linux-gnu/c/sys/mman.cr b/src/lib_c/i386-linux-gnu/c/sys/mman.cr index 158228f6946d..2c2678495b1a 100644 --- a/src/lib_c/i386-linux-gnu/c/sys/mman.cr +++ b/src/lib_c/i386-linux-gnu/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = LibC::MAP_ANONYMOUS MAP_ANONYMOUS = 0x20 - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/i386-linux-musl/c/dlfcn.cr b/src/lib_c/i386-linux-musl/c/dlfcn.cr index 2f48a19e8092..b0dc20d93f1a 100644 --- a/src/lib_c/i386-linux-musl/c/dlfcn.cr +++ b/src/lib_c/i386-linux-musl/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 256 RTLD_LOCAL = 0 RTLD_DEFAULT = Pointer(Void).new(0) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/i386-linux-musl/c/sys/mman.cr b/src/lib_c/i386-linux-musl/c/sys/mman.cr index 4dd11dad0918..b0ce2d629a81 100644 --- a/src/lib_c/i386-linux-musl/c/sys/mman.cr +++ b/src/lib_c/i386-linux-musl/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = 0x20 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 0 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/x86_64-darwin/c/dlfcn.cr b/src/lib_c/x86_64-darwin/c/dlfcn.cr index e4f1dffc933e..25c53eaeba2a 100644 --- a/src/lib_c/x86_64-darwin/c/dlfcn.cr +++ b/src/lib_c/x86_64-darwin/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 0x8 RTLD_LOCAL = 0x4 RTLD_DEFAULT = Pointer(Void).new(-2) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-darwin/c/sys/mman.cr b/src/lib_c/x86_64-darwin/c/sys/mman.cr index 934bd88ff5ad..1d2717b0061d 100644 --- a/src/lib_c/x86_64-darwin/c/sys/mman.cr +++ b/src/lib_c/x86_64-darwin/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x0001 MAP_ANON = 0x1000 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/x86_64-dragonfly/c/dlfcn.cr b/src/lib_c/x86_64-dragonfly/c/dlfcn.cr index 035ccf873319..fe95d81f85a1 100644 --- a/src/lib_c/x86_64-dragonfly/c/dlfcn.cr +++ b/src/lib_c/x86_64-dragonfly/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 0x100 RTLD_LOCAL = 0 RTLD_DEFAULT = Pointer(Void).new(-2) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-dragonfly/c/sys/mman.cr b/src/lib_c/x86_64-dragonfly/c/sys/mman.cr index eafa58cc00d3..06f2643d4788 100644 --- a/src/lib_c/x86_64-dragonfly/c/sys/mman.cr +++ b/src/lib_c/x86_64-dragonfly/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x0001 MAP_ANON = 0x1000 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_NORMAL = LibC::MADV_NORMAL POSIX_MADV_RANDOM = LibC::MADV_RANDOM POSIX_MADV_SEQUENTIAL = LibC::MADV_SEQUENTIAL diff --git a/src/lib_c/x86_64-freebsd/c/dlfcn.cr b/src/lib_c/x86_64-freebsd/c/dlfcn.cr index 035ccf873319..fe95d81f85a1 100644 --- a/src/lib_c/x86_64-freebsd/c/dlfcn.cr +++ b/src/lib_c/x86_64-freebsd/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 0x100 RTLD_LOCAL = 0 RTLD_DEFAULT = Pointer(Void).new(-2) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-freebsd/c/sys/mman.cr b/src/lib_c/x86_64-freebsd/c/sys/mman.cr index 4990727db9c5..dfada5da1552 100644 --- a/src/lib_c/x86_64-freebsd/c/sys/mman.cr +++ b/src/lib_c/x86_64-freebsd/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x0001 MAP_ANON = 0x1000 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/x86_64-linux-gnu/c/sys/mman.cr b/src/lib_c/x86_64-linux-gnu/c/sys/mman.cr index 8c44b210a24e..0b6e318b8d2d 100644 --- a/src/lib_c/x86_64-linux-gnu/c/sys/mman.cr +++ b/src/lib_c/x86_64-linux-gnu/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = LibC::MAP_ANONYMOUS MAP_ANONYMOUS = 0x20 - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/x86_64-linux-musl/c/dlfcn.cr b/src/lib_c/x86_64-linux-musl/c/dlfcn.cr index 2f48a19e8092..b0dc20d93f1a 100644 --- a/src/lib_c/x86_64-linux-musl/c/dlfcn.cr +++ b/src/lib_c/x86_64-linux-musl/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 256 RTLD_LOCAL = 0 RTLD_DEFAULT = Pointer(Void).new(0) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-linux-musl/c/sys/mman.cr b/src/lib_c/x86_64-linux-musl/c/sys/mman.cr index 4dd11dad0918..b0ce2d629a81 100644 --- a/src/lib_c/x86_64-linux-musl/c/sys/mman.cr +++ b/src/lib_c/x86_64-linux-musl/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x01 MAP_ANON = 0x20 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 0 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/x86_64-netbsd/c/dlfcn.cr b/src/lib_c/x86_64-netbsd/c/dlfcn.cr index cbdf854f1912..abb0c0fcc951 100644 --- a/src/lib_c/x86_64-netbsd/c/dlfcn.cr +++ b/src/lib_c/x86_64-netbsd/c/dlfcn.cr @@ -3,7 +3,7 @@ lib LibC RTLD_NOW = 2 RTLD_GLOBAL = 0x100 RTLD_LOCAL = 0x200 - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) RTLD_DEFAULT = Pointer(Void).new(-2) struct DlInfo diff --git a/src/lib_c/x86_64-netbsd/c/sys/mman.cr b/src/lib_c/x86_64-netbsd/c/sys/mman.cr index 2c6675659c2f..3557a00ab788 100644 --- a/src/lib_c/x86_64-netbsd/c/sys/mman.cr +++ b/src/lib_c/x86_64-netbsd/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_FIXED = 0x0010 MAP_ANON = 0x1000 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) MAP_STACK = 0x2000 POSIX_MADV_NORMAL = 0 POSIX_MADV_RANDOM = 1 diff --git a/src/lib_c/x86_64-openbsd/c/dlfcn.cr b/src/lib_c/x86_64-openbsd/c/dlfcn.cr index 595a6e059563..8c6bbe3fc7e6 100644 --- a/src/lib_c/x86_64-openbsd/c/dlfcn.cr +++ b/src/lib_c/x86_64-openbsd/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 0x100 RTLD_LOCAL = 0x000 RTLD_DEFAULT = Pointer(Void).new(-2) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-openbsd/c/sys/mman.cr b/src/lib_c/x86_64-openbsd/c/sys/mman.cr index 4b6714e7efa1..7c857527adbf 100644 --- a/src/lib_c/x86_64-openbsd/c/sys/mman.cr +++ b/src/lib_c/x86_64-openbsd/c/sys/mman.cr @@ -10,7 +10,7 @@ lib LibC MAP_SHARED = 0x0001 MAP_ANON = 0x1000 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) MAP_STACK = 0x4000 POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 diff --git a/src/lib_c/x86_64-solaris/c/dlfcn.cr b/src/lib_c/x86_64-solaris/c/dlfcn.cr index 3afc6fd37cbf..792f4d4fcb33 100644 --- a/src/lib_c/x86_64-solaris/c/dlfcn.cr +++ b/src/lib_c/x86_64-solaris/c/dlfcn.cr @@ -4,7 +4,7 @@ lib LibC RTLD_GLOBAL = 0x00100 RTLD_LOCAL = 0x00000 RTLD_DEFAULT = Pointer(Void).new(-2) - RTLD_NEXT = Pointer(Void).new(-1) + RTLD_NEXT = Pointer(Void).new(-1.to_u64!) struct DlInfo dli_fname : Char* diff --git a/src/lib_c/x86_64-solaris/c/sys/mman.cr b/src/lib_c/x86_64-solaris/c/sys/mman.cr index 55f912792fb8..c2319455c16f 100644 --- a/src/lib_c/x86_64-solaris/c/sys/mman.cr +++ b/src/lib_c/x86_64-solaris/c/sys/mman.cr @@ -12,7 +12,7 @@ lib LibC MAP_ANON = 0x100 MAP_ANONYMOUS = LibC::MAP_ANON - MAP_FAILED = Pointer(Void).new(-1) + MAP_FAILED = Pointer(Void).new(-1.to_u64!) POSIX_MADV_DONTNEED = 4 POSIX_MADV_NORMAL = 0 diff --git a/src/lib_c/x86_64-windows-msvc/c/handleapi.cr b/src/lib_c/x86_64-windows-msvc/c/handleapi.cr index c2d02e741c27..527a5ba94a58 100644 --- a/src/lib_c/x86_64-windows-msvc/c/handleapi.cr +++ b/src/lib_c/x86_64-windows-msvc/c/handleapi.cr @@ -1,7 +1,7 @@ require "c/winnt" lib LibC - INVALID_HANDLE_VALUE = HANDLE.new(-1) + INVALID_HANDLE_VALUE = HANDLE.new(-1.to_u64!) fun CloseHandle(hObject : HANDLE) : BOOL diff --git a/src/lib_c/x86_64-windows-msvc/c/winreg.cr b/src/lib_c/x86_64-windows-msvc/c/winreg.cr index cdcdd6f1a64a..0be83b90b707 100644 --- a/src/lib_c/x86_64-windows-msvc/c/winreg.cr +++ b/src/lib_c/x86_64-windows-msvc/c/winreg.cr @@ -18,13 +18,13 @@ lib LibC QWORD_LITTLE_ENDIAN = QWORD end - HKEY_CLASSES_ROOT = Pointer(Void).new(0x80000000).as(HKEY) - HKEY_CURRENT_USER = Pointer(Void).new(0x80000001).as(HKEY) - HKEY_LOCAL_MACHINE = Pointer(Void).new(0x80000002).as(HKEY) - HKEY_USERS = Pointer(Void).new(0x80000003).as(HKEY) - HKEY_PERFORMANCE_DATA = Pointer(Void).new(0x80000004).as(HKEY) - HKEY_CURRENT_CONFIG = Pointer(Void).new(0x80000005).as(HKEY) - HKEY_DYN_DATA = Pointer(Void).new(0x8000006).as(HKEY) + HKEY_CLASSES_ROOT = Pointer(Void).new(0x80000000_u64).as(HKEY) + HKEY_CURRENT_USER = Pointer(Void).new(0x80000001_u64).as(HKEY) + HKEY_LOCAL_MACHINE = Pointer(Void).new(0x80000002_u64).as(HKEY) + HKEY_USERS = Pointer(Void).new(0x80000003_u64).as(HKEY) + HKEY_PERFORMANCE_DATA = Pointer(Void).new(0x80000004_u64).as(HKEY) + HKEY_CURRENT_CONFIG = Pointer(Void).new(0x80000005_u64).as(HKEY) + HKEY_DYN_DATA = Pointer(Void).new(0x8000006_u64).as(HKEY) fun RegOpenKeyExW(hKey : HKEY, lpSubKey : LPWSTR, ulOptions : DWORD, samDesired : REGSAM, phkResult : HKEY*) : LSTATUS fun RegCloseKey(hKey : HKEY) : LSTATUS