diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-02-28 03:58:43 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-02-28 08:05:02 +0100 |
commit | 2c40b69ae2bda312e2c2afb596a30c440405c90a (patch) | |
tree | fe870bd30b6990d87e1d1ce01e109f3975f676c3 /service/zsyscall_windows.go | |
parent | README: backports are missing 1.12 for now (diff) | |
download | wireguard-windows-2c40b69ae2bda312e2c2afb596a30c440405c90a.tar.xz wireguard-windows-2c40b69ae2bda312e2c2afb596a30c440405c90a.zip |
ipc: implement event system with pipes
Also use Go 1.12's Sysconn
Diffstat (limited to '')
-rw-r--r-- | service/zsyscall_windows.go | 36 |
1 files changed, 4 insertions, 32 deletions
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 -} |