mirror of
https://github.com/golang/sys.git
synced 2026-02-08 03:36:03 +03:00
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 <Jason@zx2c4.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user