From 3ca3b18c8b9bb09620854907cd3ea668c5bc6b52 Mon Sep 17 00:00:00 2001 From: Johan Jansson Date: Sun, 23 Oct 2022 12:59:07 +0300 Subject: [PATCH] windows: add GetLargePageMinimum https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-getlargepageminimum Fixes golang/go#53900 Change-Id: If460e926af0cfa3fcf0d01422411abd01dae791c Reviewed-on: https://go-review.googlesource.com/c/sys/+/444975 Run-TryBot: Alex Brainman Reviewed-by: Jenny Rakoczy Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot Reviewed-by: Alex Brainman --- windows/syscall_windows.go | 1 + windows/zsyscall_windows.go | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/windows/syscall_windows.go b/windows/syscall_windows.go index 7a6ba43a7..a49853e9d 100644 --- a/windows/syscall_windows.go +++ b/windows/syscall_windows.go @@ -367,6 +367,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys IsWindowUnicode(hwnd HWND) (isUnicode bool) = user32.IsWindowUnicode //sys IsWindowVisible(hwnd HWND) (isVisible bool) = user32.IsWindowVisible //sys GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) = user32.GetGUIThreadInfo +//sys GetLargePageMinimum() (size uintptr) // Volume Management Functions //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW diff --git a/windows/zsyscall_windows.go b/windows/zsyscall_windows.go index 96ba8559c..ac60052e4 100644 --- a/windows/zsyscall_windows.go +++ b/windows/zsyscall_windows.go @@ -252,6 +252,7 @@ var ( procGetFileType = modkernel32.NewProc("GetFileType") procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW") procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW") + procGetLargePageMinimum = modkernel32.NewProc("GetLargePageMinimum") procGetLastError = modkernel32.NewProc("GetLastError") procGetLogicalDriveStringsW = modkernel32.NewProc("GetLogicalDriveStringsW") procGetLogicalDrives = modkernel32.NewProc("GetLogicalDrives") @@ -2180,6 +2181,12 @@ func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) ( return } +func GetLargePageMinimum() (size uintptr) { + r0, _, _ := syscall.Syscall(procGetLargePageMinimum.Addr(), 0, 0, 0, 0) + size = uintptr(r0) + return +} + func GetLastError() (lasterr error) { r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) if r0 != 0 {