const GUID{{.Name}} string = "{{.GUID}}" const Signature{{.Name}} string = "{{.Signature}}" type {{.Name}} struct { ole.IInspectable } type {{.Name}}Vtbl struct { ole.IInspectableVtbl {{range .Funcs}} {{funcName .}} uintptr {{- end}} } func (v *{{.Name}}) VTable() *{{.Name}}Vtbl { return (*{{.Name}}Vtbl)(unsafe.Pointer(v.RawVTable)) } {{range .Funcs}} {{template "func.tmpl" .}} {{end}}