Skip to content

Commit 60ecf13

Browse files
committed
windows: add TimeBeginPeriod and TimeEndPeriod syscalls
Updates golang/go#44343 Fixes golang/go#61723 Change-Id: I920f2fad6b3a2a9ba67ff2fafea4319644a0bc8c Reviewed-on: https://go-review.googlesource.com/c/sys/+/515915 Reviewed-by: qiulaidongfeng <2645477756@qq.com> Run-TryBot: Quim Muntal <quimmuntal@gmail.com> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
1 parent 104d401 commit 60ecf13

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

windows/syscall_windows.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,10 @@ func NewCallbackCDecl(fn interface{}) uintptr {
437437
//sys DwmGetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) = dwmapi.DwmGetWindowAttribute
438438
//sys DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) = dwmapi.DwmSetWindowAttribute
439439

440+
// Windows Multimedia API
441+
//sys TimeBeginPeriod (period uint32) (err error) [failretval != 0] = winmm.timeBeginPeriod
442+
//sys TimeEndPeriod (period uint32) (err error) [failretval != 0] = winmm.timeEndPeriod
443+
440444
// syscall interface implementation for other packages
441445

442446
// GetCurrentProcess returns the handle for the current process.

windows/syscall_windows_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1164,3 +1164,12 @@ items_loop:
11641164
}
11651165
}
11661166
}
1167+
1168+
func TestTimePeriod(t *testing.T) {
1169+
if err := windows.TimeBeginPeriod(1); err != nil {
1170+
t.Fatal(err)
1171+
}
1172+
if err := windows.TimeEndPeriod(1); err != nil {
1173+
t.Fatal(err)
1174+
}
1175+
}

windows/zsyscall_windows.go

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)