mirror of https://github.com/ethereum/go-ethereum
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
864 B
43 lines
864 B
// +build windows
|
|
|
|
package ole
|
|
|
|
import (
|
|
"syscall"
|
|
"unsafe"
|
|
)
|
|
|
|
func (v *IConnectionPoint) GetConnectionInterface(piid **GUID) int32 {
|
|
// XXX: This doesn't look like it does what it's supposed to
|
|
return release((*IUnknown)(unsafe.Pointer(v)))
|
|
}
|
|
|
|
func (v *IConnectionPoint) Advise(unknown *IUnknown) (cookie uint32, err error) {
|
|
hr, _, _ := syscall.Syscall(
|
|
v.VTable().Advise,
|
|
3,
|
|
uintptr(unsafe.Pointer(v)),
|
|
uintptr(unsafe.Pointer(unknown)),
|
|
uintptr(unsafe.Pointer(&cookie)))
|
|
if hr != 0 {
|
|
err = NewError(hr)
|
|
}
|
|
return
|
|
}
|
|
|
|
func (v *IConnectionPoint) Unadvise(cookie uint32) (err error) {
|
|
hr, _, _ := syscall.Syscall(
|
|
v.VTable().Unadvise,
|
|
2,
|
|
uintptr(unsafe.Pointer(v)),
|
|
uintptr(cookie),
|
|
0)
|
|
if hr != 0 {
|
|
err = NewError(hr)
|
|
}
|
|
return
|
|
}
|
|
|
|
func (v *IConnectionPoint) EnumConnections(p *unsafe.Pointer) error {
|
|
return NewError(E_NOTIMPL)
|
|
}
|
|
|