From e40ef342dc5619f4fd074cc55ef3d8bace66bd37 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 13 Jun 2019 14:48:46 +0200 Subject: [PATCH] windows: make CoTaskMemFree public It's a useful function for people doing things with OLE32 from elsewhere. Change-Id: Id729d1c2b382ab4c097a06fb73448e671c0ad2f0 Reviewed-on: https://go-review.googlesource.com/c/sys/+/182157 Run-TryBot: Jason A. Donenfeld TryBot-Result: Gobot Gobot Reviewed-by: Alex Brainman --- windows/syscall_windows.go | 4 ++-- windows/zsyscall_windows.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/syscall_windows.go b/windows/syscall_windows.go index be8c50f2..b2305092 100644 --- a/windows/syscall_windows.go +++ b/windows/syscall_windows.go @@ -294,7 +294,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) = ole32.CLSIDFromString //sys stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) = ole32.StringFromGUID2 //sys coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid -//sys coTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree +//sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree //sys rtlGetVersion(info *OsVersionInfoEx) (ret error) = ntdll.RtlGetVersion // syscall interface implementation for other packages @@ -1302,7 +1302,7 @@ func (t Token) KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, e if err != nil { return "", err } - defer coTaskMemFree(unsafe.Pointer(p)) + defer CoTaskMemFree(unsafe.Pointer(p)) return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(p))[:]), nil } diff --git a/windows/zsyscall_windows.go b/windows/zsyscall_windows.go index 9e43e966..d461bed9 100644 --- a/windows/zsyscall_windows.go +++ b/windows/zsyscall_windows.go @@ -2517,7 +2517,7 @@ func coCreateGuid(pguid *GUID) (ret error) { return } -func coTaskMemFree(address unsafe.Pointer) { +func CoTaskMemFree(address unsafe.Pointer) { syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) return }