github.com/gofiber/fiber/v2@v2.47.0/internal/go-ole/iconnectionpoint_windows.go (about)

     1  //go:build windows
     2  // +build windows
     3  
     4  package ole
     5  
     6  import (
     7  	"syscall"
     8  	"unsafe"
     9  )
    10  
    11  func (v *IConnectionPoint) GetConnectionInterface(piid **GUID) int32 {
    12  	// XXX: This doesn't look like it does what it's supposed to
    13  	return release((*IUnknown)(unsafe.Pointer(v)))
    14  }
    15  
    16  func (v *IConnectionPoint) Advise(unknown *IUnknown) (cookie uint32, err error) {
    17  	hr, _, _ := syscall.Syscall(
    18  		v.VTable().Advise,
    19  		3,
    20  		uintptr(unsafe.Pointer(v)),
    21  		uintptr(unsafe.Pointer(unknown)),
    22  		uintptr(unsafe.Pointer(&cookie)))
    23  	if hr != 0 {
    24  		err = NewError(hr)
    25  	}
    26  	return
    27  }
    28  
    29  func (v *IConnectionPoint) Unadvise(cookie uint32) (err error) {
    30  	hr, _, _ := syscall.Syscall(
    31  		v.VTable().Unadvise,
    32  		2,
    33  		uintptr(unsafe.Pointer(v)),
    34  		uintptr(cookie),
    35  		0)
    36  	if hr != 0 {
    37  		err = NewError(hr)
    38  	}
    39  	return
    40  }
    41  
    42  func (v *IConnectionPoint) EnumConnections(p *unsafe.Pointer) error {
    43  	return NewError(E_NOTIMPL)
    44  }