From 2c40b69ae2bda312e2c2afb596a30c440405c90a Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 28 Feb 2019 03:58:43 +0100 Subject: ipc: implement event system with pipes Also use Go 1.12's Sysconn --- service/zsyscall_windows.go | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) (limited to 'service/zsyscall_windows.go') diff --git a/service/zsyscall_windows.go b/service/zsyscall_windows.go index 79d4ccf5..649e3581 100644 --- a/service/zsyscall_windows.go +++ b/service/zsyscall_windows.go @@ -39,14 +39,11 @@ func errnoErr(e syscall.Errno) error { var ( modwtsapi32 = windows.NewLazySystemDLL("wtsapi32.dll") modadvapi32 = windows.NewLazySystemDLL("advapi32.dll") - moduser32 = windows.NewLazySystemDLL("user32.dll") - procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") - procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") - procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") - procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") - procPostMessageW = moduser32.NewProc("PostMessageW") - procRegisterWindowMessageW = moduser32.NewProc("RegisterWindowMessageW") + procWTSQueryUserToken = modwtsapi32.NewProc("WTSQueryUserToken") + procWTSEnumerateSessionsW = modwtsapi32.NewProc("WTSEnumerateSessionsW") + procWTSFreeMemory = modwtsapi32.NewProc("WTSFreeMemory") + procCreateWellKnownSid = modadvapi32.NewProc("CreateWellKnownSid") ) func wtfQueryUserToken(session uint32, token *windows.Token) (err error) { @@ -89,28 +86,3 @@ func createWellKnownSid(sidType wellKnownSidType, domainSid *windows.SID, sid *w } return } - -func postMessage(hwnd windows.Handle, msg uint, wparam uintptr, lparam uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procPostMessageW.Addr(), 4, uintptr(hwnd), uintptr(msg), uintptr(wparam), uintptr(lparam), 0, 0) - if r1 == 0 { - if e1 != 0 { - err = errnoErr(e1) - } else { - err = syscall.EINVAL - } - } - return -} - -func registerWindowMessage(name *uint16) (message uint, err error) { - r0, _, e1 := syscall.Syscall(procRegisterWindowMessageW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) - message = uint(r0) - if message == 0 { - if e1 != 0 { - err = errnoErr(e1) - } else { - err = syscall.EINVAL - } - } - return -} -- cgit v1.2.3-59-g8ed1b