Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterVTable ¶
RegisterVTable registers the vtable trampoline methods for the specified ComInterface TBase is the base interface of T, and must be another ComInterface which roots in IUnknown or IUnknown itself. The first paramter of the fn is always the uintptr of the ComObject and the GoObject can be resolved with Resolve(). After having resolved the GoObject the call must be redirected to the GoObject. Typically a trampoline FN looks like this.
func _ICoreWebView2NavigationCompletedEventHandlerInvoke(this uintptr, sender *ICoreWebView2, args *ICoreWebView2NavigationCompletedEventArgs) uintptr { return combridge.Resolve[_ICoreWebView2NavigationCompletedEventHandler](this).NavigationCompleted(sender, args) }
The order of registration must be in the correct order as specified in the IDL of the interface.
Types ¶
type ComObject ¶
type ComObject[T IUnknown] struct { // contains filtered or unexported fields }
ComObject describes an exported go instance to be used as a ComObject which implements the specified Interface.
func New ¶
New returns a new ComObject which implements the specified Com Interface, com calls will be redirected to the specified go interface.
func New2 ¶
New2 returns a new ComObject which implements the two specified Com Interfaces, com calls will be redirected to those interfaces accordingly. This is needed if a ComObject should implement two interfaces that are not descendants of each other, then you get multiple inheritance.
type IUnknownImpl ¶
type IUnknownImpl struct {
// contains filtered or unexported fields
}
func IUnknownFromPointer ¶
func IUnknownFromPointer(ref unsafe.Pointer) *IUnknownImpl
IUnknownFromPointer cast a generic pointer into a IUnknownImpl pointer
func IUnknownFromUintptr ¶
func IUnknownFromUintptr(ref uintptr) *IUnknownImpl
IUnknownFromPointer cast native pointer into a IUnknownImpl pointer
func (*IUnknownImpl) AddRef ¶
func (i *IUnknownImpl) AddRef() uint32
func (*IUnknownImpl) QueryInterface ¶
func (i *IUnknownImpl) QueryInterface(refiid *windows.GUID, ppvObject **IUnknownImpl) error
func (*IUnknownImpl) Release ¶
func (i *IUnknownImpl) Release() uint32
type IUnknownVtbl ¶
type IUnknownVtbl struct {
// contains filtered or unexported fields
}
func (*IUnknownVtbl) QueryInterface ¶
func (i *IUnknownVtbl) QueryInterface(this unsafe.Pointer, refiid *windows.GUID, ppvObject **IUnknownImpl) error