go-tg-screenshot-bot
213 строк · 5.8 Кб
1// Copyright 2010 The win Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// +build windows
6
7package win8
9import (10"syscall"11"unsafe"12)
13
14type REOBJECT struct {15cbStruct uint32 // Size of structure16cp int32 // Character position of object17clsid CLSID // Class ID of object18poleobj *IOleObject // OLE object interface19pstg *IStorage // Associated storage interface20polesite *IOleClientSite // Associated client site interface21sizel SIZE // Size of object (may be 0,0)22dvaspect uint32 // Display aspect to use23dwFlags uint32 // Object status flags24dwUser uint32 // Dword for user's use25}
26
27type IRichEditOleVtbl struct {28IUnknownVtbl
29GetClientSite uintptr30GetObjectCount uintptr31GetLinkCount uintptr32GetObject uintptr33InsertObject uintptr34ConvertObject uintptr35ActivateAs uintptr36SetHostNames uintptr37SetLinkAvailable uintptr38SetDvaspect uintptr39HandsOffStorage uintptr40SaveCompleted uintptr41InPlaceDeactivate uintptr42ContextSensitiveHelp uintptr43GetClipboardData uintptr44ImportDataObject uintptr45}
46
47type IRichEditOle struct {48LpVtbl *IRichEditOleVtbl49}
50
51func (obj *IRichEditOle) QueryInterface(riid REFIID, ppvObject *unsafe.Pointer) HRESULT {52ret, _, _ := syscall.Syscall(obj.LpVtbl.QueryInterface, 3,53uintptr(unsafe.Pointer(obj)),54uintptr(unsafe.Pointer(riid)),55uintptr(unsafe.Pointer(ppvObject)))56return HRESULT(ret)57}
58
59func (obj *IRichEditOle) AddRef() uint32 {60ret, _, _ := syscall.Syscall(obj.LpVtbl.AddRef, 1,61uintptr(unsafe.Pointer(obj)),620,630)64return uint32(ret)65}
66
67func (obj *IRichEditOle) Release() uint32 {68ret, _, _ := syscall.Syscall(obj.LpVtbl.Release, 1,69uintptr(unsafe.Pointer(obj)),700,710)72return uint32(ret)73}
74
75func (obj *IRichEditOle) GetClientSite(lplpolesite **IOleClientSite) HRESULT {76ret, _, _ := syscall.Syscall(obj.LpVtbl.GetClientSite, 2,77uintptr(unsafe.Pointer(obj)),78uintptr(unsafe.Pointer(lplpolesite)),790)80return HRESULT(ret)81}
82
83func (obj *IRichEditOle) GetObjectCount() int32 {84ret, _, _ := syscall.Syscall(obj.LpVtbl.GetObjectCount, 1,85uintptr(unsafe.Pointer(obj)),860,870)88return int32(ret)89}
90
91func (obj *IRichEditOle) GetLinkCount() int32 {92ret, _, _ := syscall.Syscall(obj.LpVtbl.GetLinkCount, 1,93uintptr(unsafe.Pointer(obj)),940,950)96return int32(ret)97}
98
99func (obj *IRichEditOle) GetObject(iob int32, lpreobject *REOBJECT, dwFlags uint32) HRESULT {100ret, _, _ := syscall.Syscall6(obj.LpVtbl.GetObject, 4,101uintptr(unsafe.Pointer(obj)),102uintptr(iob),103uintptr(unsafe.Pointer(lpreobject)),104uintptr(dwFlags),1050,1060)107return HRESULT(ret)108}
109
110func (obj *IRichEditOle) InsertObject(lpreobject *REOBJECT) HRESULT {111ret, _, _ := syscall.Syscall(obj.LpVtbl.InsertObject, 2,112uintptr(unsafe.Pointer(obj)),113uintptr(unsafe.Pointer(lpreobject)),1140)115return HRESULT(ret)116}
117
118func (obj *IRichEditOle) ConvertObject(iob int32, rclsidNew REFCLSID, lpstrUserTypeNew *byte) HRESULT {119ret, _, _ := syscall.Syscall6(obj.LpVtbl.ConvertObject, 4,120uintptr(unsafe.Pointer(obj)),121uintptr(iob),122uintptr(unsafe.Pointer(rclsidNew)),123uintptr(unsafe.Pointer(lpstrUserTypeNew)),1240,1250)126return HRESULT(ret)127}
128
129func (obj *IRichEditOle) ActivateAs(rclsid REFCLSID, rclsidAs REFCLSID) HRESULT {130ret, _, _ := syscall.Syscall(obj.LpVtbl.ActivateAs, 3,131uintptr(unsafe.Pointer(obj)),132uintptr(unsafe.Pointer(rclsid)),133uintptr(unsafe.Pointer(rclsidAs)))134return HRESULT(ret)135}
136
137func (obj *IRichEditOle) SetHostNames(lpstrContainerApp *byte, lpstrContainerObj *byte) HRESULT {138ret, _, _ := syscall.Syscall(obj.LpVtbl.SetHostNames, 3,139uintptr(unsafe.Pointer(obj)),140uintptr(unsafe.Pointer(lpstrContainerApp)),141uintptr(unsafe.Pointer(lpstrContainerObj)))142return HRESULT(ret)143}
144
145func (obj *IRichEditOle) SetLinkAvailable(iob int32, fAvailable BOOL) HRESULT {146ret, _, _ := syscall.Syscall(obj.LpVtbl.SetLinkAvailable, 3,147uintptr(unsafe.Pointer(obj)),148uintptr(iob),149uintptr(fAvailable))150return HRESULT(ret)151}
152
153func (obj *IRichEditOle) SetDvaspect(iob int32, dvaspect uint32) HRESULT {154ret, _, _ := syscall.Syscall(obj.LpVtbl.SetDvaspect, 3,155uintptr(unsafe.Pointer(obj)),156uintptr(iob),157uintptr(dvaspect))158return HRESULT(ret)159}
160
161func (obj *IRichEditOle) HandsOffStorage(iob int32) HRESULT {162ret, _, _ := syscall.Syscall(obj.LpVtbl.HandsOffStorage, 2,163uintptr(unsafe.Pointer(obj)),164uintptr(iob),1650)166return HRESULT(ret)167}
168
169func (obj *IRichEditOle) SaveCompleted(iob int32, lpstg *IStorage) HRESULT {170ret, _, _ := syscall.Syscall(obj.LpVtbl.SaveCompleted, 3,171uintptr(unsafe.Pointer(obj)),172uintptr(iob),173uintptr(unsafe.Pointer(lpstg)))174return HRESULT(ret)175}
176
177func (obj *IRichEditOle) InPlaceDeactivate() HRESULT {178ret, _, _ := syscall.Syscall(obj.LpVtbl.InPlaceDeactivate, 1,179uintptr(unsafe.Pointer(obj)),1800,1810)182return HRESULT(ret)183}
184
185func (obj *IRichEditOle) ContextSensitiveHelp(fEnterMode BOOL) HRESULT {186ret, _, _ := syscall.Syscall(obj.LpVtbl.ContextSensitiveHelp, 2,187uintptr(unsafe.Pointer(obj)),188uintptr(fEnterMode),1890)190return HRESULT(ret)191}
192
193func (obj *IRichEditOle) GetClipboardData(lpchrg *CHARRANGE, reco uint32, lplpdataobj **IDataObject) HRESULT {194ret, _, _ := syscall.Syscall6(obj.LpVtbl.GetClipboardData, 4,195uintptr(unsafe.Pointer(obj)),196uintptr(unsafe.Pointer(lpchrg)),197uintptr(reco),198uintptr(unsafe.Pointer(lplpdataobj)),1990,2000)201return HRESULT(ret)202}
203
204func (obj *IRichEditOle) ImportDataObject(lpdataobj *IDataObject, cf CLIPFORMAT, hMetaPict HGLOBAL) HRESULT {205ret, _, _ := syscall.Syscall6(obj.LpVtbl.ImportDataObject, 4,206uintptr(unsafe.Pointer(obj)),207uintptr(unsafe.Pointer(lpdataobj)),208uintptr(cf),209uintptr(hMetaPict),2100,2110)212return HRESULT(ret)213}
214