diff --git a/.gitignore b/.gitignore index 6bed592..86c4633 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ vendor/ .idea/ _test/ _bak/ + +go.work diff --git a/com/bstr.go b/com/bstr.go index ceab45f..6050042 100644 --- a/com/bstr.go +++ b/com/bstr.go @@ -4,7 +4,7 @@ import ( "syscall" "unsafe" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type BStr struct { diff --git a/com/comimpl/IClassFactory.go b/com/comimpl/IClassFactory.go index 90a1577..a91ffa8 100644 --- a/com/comimpl/IClassFactory.go +++ b/com/comimpl/IClassFactory.go @@ -2,7 +2,7 @@ package comimpl import ( "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "syscall" "unsafe" ) diff --git a/com/comimpl/IDataObject.go b/com/comimpl/IDataObject.go index ab21c20..d3c1356 100644 --- a/com/comimpl/IDataObject.go +++ b/com/comimpl/IDataObject.go @@ -5,7 +5,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type IDataObjectImpl struct { @@ -71,7 +71,7 @@ func (this *IDataObjectImpl) GetData(pformatetcIn *win32.FORMATETC, pmedium *win bts := unsafe.Slice((*uint16)(unsafe.Pointer(h)), cb) copy(bts, wsz) *pmedium.HGlobal() = h - pmedium.Tymed = (uint32)(win32.TYMED_HGLOBAL) + pmedium.Tymed = win32.TYMED_HGLOBAL } } } else if win32.SUCCEEDED(this.lazyLoadShellDo()) { @@ -143,43 +143,46 @@ func (this *IDataObjectImpl) EnumDAdvise(ppenumAdvise **win32.IEnumSTATDATA) win // type IDataObjectComObj struct { com.IUnknownComObj - impl win32.IDataObjectInterface +} + +func (this *IDataObjectComObj) impl() win32.IDataObjectInterface { + return this.Impl().(win32.IDataObjectInterface) } func (this *IDataObjectComObj) GetData(pformatetcIn *win32.FORMATETC, pmedium *win32.STGMEDIUM) uintptr { - return uintptr(this.impl.GetData(pformatetcIn, pmedium)) + return uintptr(this.impl().GetData(pformatetcIn, pmedium)) } func (this *IDataObjectComObj) GetDataHere(pformatetc *win32.FORMATETC, pmedium *win32.STGMEDIUM) uintptr { - return uintptr(this.impl.GetDataHere(pformatetc, pmedium)) + return uintptr(this.impl().GetDataHere(pformatetc, pmedium)) } func (this *IDataObjectComObj) QueryGetData(pformatetc *win32.FORMATETC) uintptr { - return uintptr(this.impl.QueryGetData(pformatetc)) + return uintptr(this.impl().QueryGetData(pformatetc)) } func (this *IDataObjectComObj) GetCanonicalFormatEtc(pformatectIn *win32.FORMATETC, pformatetcOut *win32.FORMATETC) uintptr { - return uintptr(this.impl.GetCanonicalFormatEtc(pformatectIn, pformatetcOut)) + return uintptr(this.impl().GetCanonicalFormatEtc(pformatectIn, pformatetcOut)) } func (this *IDataObjectComObj) SetData(pformatetc *win32.FORMATETC, pmedium *win32.STGMEDIUM, fRelease win32.BOOL) uintptr { - return uintptr(this.impl.SetData(pformatetc, pmedium, fRelease)) + return uintptr(this.impl().SetData(pformatetc, pmedium, fRelease)) } func (this *IDataObjectComObj) EnumFormatEtc(dwDirection uint32, ppenumFormatEtc **win32.IEnumFORMATETC) uintptr { - return uintptr(this.impl.EnumFormatEtc(dwDirection, ppenumFormatEtc)) + return uintptr(this.impl().EnumFormatEtc(dwDirection, ppenumFormatEtc)) } func (this *IDataObjectComObj) DAdvise(pformatetc *win32.FORMATETC, advf uint32, pAdvSink *win32.IAdviseSink, pdwConnection *uint32) uintptr { - return uintptr(this.impl.DAdvise(pformatetc, advf, pAdvSink, pdwConnection)) + return uintptr(this.impl().DAdvise(pformatetc, advf, pAdvSink, pdwConnection)) } func (this *IDataObjectComObj) DUnadvise(dwConnection uint32) uintptr { - return uintptr(this.impl.DUnadvise(dwConnection)) + return uintptr(this.impl().DUnadvise(dwConnection)) } func (this *IDataObjectComObj) EnumDAdvise(ppenumAdvise **win32.IEnumSTATDATA) uintptr { - return uintptr(this.impl.EnumDAdvise(ppenumAdvise)) + return uintptr(this.impl().EnumDAdvise(ppenumAdvise)) } var _pIDataObjectVtbl *win32.IDataObjectVtbl @@ -207,7 +210,19 @@ func (this *IDataObjectComObj) BuildVtbl(lock bool) *win32.IDataObjectVtbl { return _pIDataObjectVtbl } +func (this *IDataObjectComObj) GetVtbl() *win32.IUnknownVtbl { + return &this.BuildVtbl(true).IUnknownVtbl +} + +func (this *IDataObjectComObj) IDataObject() *win32.IDataObject { + return (*win32.IDataObject)(unsafe.Pointer(this)) +} + func NewIDataObjectComObj(impl win32.IDataObjectInterface) *IDataObjectComObj { comObj := com.NewComObj[IDataObjectComObj](impl) return comObj } + +func NewDataObject() *win32.IDataObject { + return NewIDataObjectComObj(&IDataObjectImpl{}).IDataObject() +} diff --git a/com/comimpl/IDropSource.go b/com/comimpl/IDropSource.go index edb63b9..c230d30 100644 --- a/com/comimpl/IDropSource.go +++ b/com/comimpl/IDropSource.go @@ -5,7 +5,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type IDropSourceImpl struct { @@ -32,15 +32,18 @@ func (this *IDropSourceImpl) GiveFeedback(dwEffect uint32) win32.HRESULT { // type IDropSourceComObj struct { com.IUnknownComObj - impl win32.IDropSourceInterface } -func (this *IDropSourceComObj) QueryContinueDrag(fEscapePressed win32.BOOL, grfKeyState uint32) uintptr { - return uintptr(this.impl.QueryContinueDrag(fEscapePressed, grfKeyState)) +func (this *IDropSourceComObj) impl() win32.IDropSourceInterface { + return this.Impl().(win32.IDropSourceInterface) } -func (this *IDropSourceComObj) GiveFeedback(dwEffect uint32) uintptr { - return uintptr(this.impl.GiveFeedback(dwEffect)) +func (this *IDropSourceComObj) QueryContinueDrag(fEscapePressed win32.BOOL, grfKeyState win32.MODIFIERKEYS_FLAGS) uintptr { + return uintptr(this.impl().QueryContinueDrag(fEscapePressed, grfKeyState)) +} + +func (this *IDropSourceComObj) GiveFeedback(dwEffect win32.DROPEFFECT) uintptr { + return uintptr(this.impl().GiveFeedback(dwEffect)) } var _pIDropSourceVtbl *win32.IDropSourceVtbl @@ -60,3 +63,16 @@ func (this *IDropSourceComObj) BuildVtbl(lock bool) *win32.IDropSourceVtbl { } return _pIDropSourceVtbl } + +func (this *IDropSourceComObj) GetVtbl() *win32.IUnknownVtbl { + return &this.BuildVtbl(true).IUnknownVtbl +} + +func (this *IDropSourceComObj) IDropSource() *win32.IDropSource { + return (*win32.IDropSource)(unsafe.Pointer(this)) +} + +func NewIDropSourceComObj(impl win32.IDropSourceInterface) *IDropSourceComObj { + comObj := com.NewComObj[IDropSourceComObj](impl) + return comObj +} diff --git a/com/comimpl/IDropTarget.go b/com/comimpl/IDropTarget.go index 8b8fd52..417b865 100644 --- a/com/comimpl/IDropTarget.go +++ b/com/comimpl/IDropTarget.go @@ -5,7 +5,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type IDropTargetImpl struct { @@ -40,23 +40,29 @@ func (this *IDropTargetImpl) Drop(pDataObj *win32.IDataObject, grfKeyState uint3 // type IDropTargetComObj struct { com.IUnknownComObj - impl win32.IDropTargetInterface } -func (this *IDropTargetComObj) DragEnter(pDataObj *win32.IDataObject, grfKeyState uint32, pt win32.POINTL, pdwEffect *uint32) uintptr { - return uintptr(this.impl.DragEnter(pDataObj, grfKeyState, pt, pdwEffect)) +func (this *IDropTargetComObj) impl() win32.IDropTargetInterface { + return this.Impl().(win32.IDropTargetInterface) } -func (this *IDropTargetComObj) DragOver(grfKeyState uint32, pt win32.POINTL, pdwEffect *uint32) uintptr { - return uintptr(this.impl.DragOver(grfKeyState, pt, pdwEffect)) +func (this *IDropTargetComObj) DragEnter(pDataObj *win32.IDataObject, grfKeyState win32.MODIFIERKEYS_FLAGS, + pt win32.POINTL, pdwEffect *win32.DROPEFFECT) uintptr { + return uintptr(this.impl().DragEnter(pDataObj, grfKeyState, pt, pdwEffect)) +} + +func (this *IDropTargetComObj) DragOver(grfKeyState win32.MODIFIERKEYS_FLAGS, + pt win32.POINTL, pdwEffect *win32.DROPEFFECT) uintptr { + return uintptr(this.impl().DragOver(grfKeyState, pt, pdwEffect)) } func (this *IDropTargetComObj) DragLeave() uintptr { - return uintptr(this.impl.DragLeave()) + return uintptr(this.impl().DragLeave()) } -func (this *IDropTargetComObj) Drop(pDataObj *win32.IDataObject, grfKeyState uint32, pt win32.POINTL, pdwEffect *uint32) uintptr { - return uintptr(this.impl.Drop(pDataObj, grfKeyState, pt, pdwEffect)) +func (this *IDropTargetComObj) Drop(pDataObj *win32.IDataObject, grfKeyState win32.MODIFIERKEYS_FLAGS, + pt win32.POINTL, pdwEffect *win32.DROPEFFECT) uintptr { + return uintptr(this.impl().Drop(pDataObj, grfKeyState, pt, pdwEffect)) } var _pIDropTargetVtbl *win32.IDropTargetVtbl @@ -78,3 +84,16 @@ func (this *IDropTargetComObj) BuildVtbl(lock bool) *win32.IDropTargetVtbl { } return _pIDropTargetVtbl } + +func (this *IDropTargetComObj) GetVtbl() *win32.IUnknownVtbl { + return &this.BuildVtbl(true).IUnknownVtbl +} + +func (this *IDropTargetComObj) IDropTarget() *win32.IDropTarget { + return (*win32.IDropTarget)(unsafe.Pointer(this)) +} + +func NewIDropTargetComObj(impl win32.IDropTargetInterface) *IDropTargetComObj { + comObj := com.NewComObj[IDropTargetComObj](impl) + return comObj +} diff --git a/com/comimpl/IPropertyBag.go b/com/comimpl/IPropertyBag.go index 3381c9f..4d03883 100644 --- a/com/comimpl/IPropertyBag.go +++ b/com/comimpl/IPropertyBag.go @@ -2,7 +2,7 @@ package comimpl import ( "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "syscall" "unsafe" ) diff --git a/com/comimpl/ISequentialStream.go b/com/comimpl/ISequentialStream.go index b51257d..07b7481 100644 --- a/com/comimpl/ISequentialStream.go +++ b/com/comimpl/ISequentialStream.go @@ -5,7 +5,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) // diff --git a/com/comimpl/IStream.go b/com/comimpl/IStream.go index 5eaad65..c7115cc 100644 --- a/com/comimpl/IStream.go +++ b/com/comimpl/IStream.go @@ -6,7 +6,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) // @@ -43,7 +43,7 @@ func (this *IStreamImpl) Revert() win32.HRESULT { return win32.E_NOTIMPL } -func (this *IStreamImpl) LockRegion(libOffset uint64, cb uint64, dwLockType uint32) win32.HRESULT { +func (this *IStreamImpl) LockRegion(libOffset uint64, cb uint64, dwLockType win32.LOCKTYPE) win32.HRESULT { return win32.E_NOTIMPL } @@ -51,7 +51,7 @@ func (this *IStreamImpl) UnlockRegion(libOffset uint64, cb uint64, dwLockType ui return win32.E_NOTIMPL } -func (this *IStreamImpl) Stat(pstatstg *win32.STATSTG, grfStatFlag uint32) win32.HRESULT { +func (this *IStreamImpl) Stat(pstatstg *win32.STATSTG, grfStatFlag win32.STATFLAG) win32.HRESULT { return win32.E_NOTIMPL } @@ -96,7 +96,7 @@ func (this *IStreamComObj) Revert() uintptr { return (uintptr)(this.impl().Revert()) } -func (this *IStreamComObj) LockRegion(libOffset uint64, cb uint64, dwLockType uint32) uintptr { +func (this *IStreamComObj) LockRegion(libOffset uint64, cb uint64, dwLockType win32.LOCKTYPE) uintptr { return (uintptr)(this.impl().LockRegion(libOffset, cb, dwLockType)) } @@ -104,7 +104,7 @@ func (this *IStreamComObj) UnlockRegion(libOffset uint64, cb uint64, dwLockType return (uintptr)(this.impl().UnlockRegion(libOffset, cb, dwLockType)) } -func (this *IStreamComObj) Stat(pstatstg *win32.STATSTG, grfStatFlag uint32) uintptr { +func (this *IStreamComObj) Stat(pstatstg *win32.STATSTG, grfStatFlag win32.STATFLAG) uintptr { return (uintptr)(this.impl().Stat(pstatstg, grfStatFlag)) } diff --git a/com/context.go b/com/context.go index 3e9df19..904ffd0 100644 --- a/com/context.go +++ b/com/context.go @@ -1,7 +1,7 @@ package com import ( - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "log" "runtime" "sync" diff --git a/com/error.go b/com/error.go index b1391db..80ec4b9 100644 --- a/com/error.go +++ b/com/error.go @@ -1,7 +1,7 @@ package com import ( - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "syscall" ) diff --git a/com/impl.go b/com/impl.go index 1e567de..e0c76f7 100644 --- a/com/impl.go +++ b/com/impl.go @@ -6,7 +6,7 @@ import ( "syscall" "unsafe" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) var MuVtbl sync.Mutex diff --git a/com/scope.go b/com/scope.go index 44b63d7..f284ef8 100644 --- a/com/scope.go +++ b/com/scope.go @@ -1,7 +1,7 @@ package com import ( - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "log" "sync" "unsafe" diff --git a/com/types.go b/com/types.go index 5e8fd12..f972915 100644 --- a/com/types.go +++ b/com/types.go @@ -4,7 +4,7 @@ import ( "syscall" "unsafe" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type Disposable interface { diff --git a/com/utils.go b/com/utils.go index 6f592fa..19ea6d0 100644 --- a/com/utils.go +++ b/com/utils.go @@ -2,7 +2,7 @@ package com import ( "fmt" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "log" "unsafe" ) diff --git a/examples/filedialog/filedialog.go b/examples/filedialog/filedialog.go index 18b1157..a6a96e9 100644 --- a/examples/filedialog/filedialog.go +++ b/examples/filedialog/filedialog.go @@ -5,7 +5,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type IFileDialogEventsInterfaceImpl struct { diff --git a/examples/loadpicture_fromstream/loadpicture_fromstream.go b/examples/loadpicture_fromstream/loadpicture_fromstream.go index 28d701c..9161118 100644 --- a/examples/loadpicture_fromstream/loadpicture_fromstream.go +++ b/examples/loadpicture_fromstream/loadpicture_fromstream.go @@ -7,7 +7,7 @@ import ( "github.com/zzl/go-com/com/comimpl" "github.com/zzl/go-com/ole" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) func main() { diff --git a/go.mod b/go.mod index c81c862..ab848db 100644 --- a/go.mod +++ b/go.mod @@ -1,7 +1,7 @@ module github.com/zzl/go-com -go 1.18 +go 1.19 -require github.com/zzl/go-win32api v1.2.0 +require github.com/zzl/go-win32api/v2 v2.0.1 require golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f // indirect diff --git a/go.sum b/go.sum index 857f8c3..c3fe66d 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,4 @@ -github.com/zzl/go-win32api v1.2.0 h1:8cUPn/io9S0H/Ah4pnuM7xmElL2MDR9bKgl8AREG/AE= -github.com/zzl/go-win32api v1.2.0/go.mod h1:iWVjU/KzuwzqGpgBZdQ6Z4JqFXeSPIzantVIkcyD4b4= +github.com/zzl/go-win32api/v2 v2.0.1 h1:SHeKZMcYqQNIxbZefuUffM3K+YuJ/WMhd8ZHr40M0OM= +github.com/zzl/go-win32api/v2 v2.0.1/go.mod h1:doi6ewHPdh9tDmqe837Ro7IwqtB9yE+1fC8suK/Ssj0= golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f h1:rlezHXNlxYWvBCzNses9Dlc7nGFaNMJeqLolcmQSSZY= golang.org/x/sys v0.0.0-20220330033206-e17cdc41300f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/ole/array.go b/ole/array.go index cddc746..96275ad 100644 --- a/ole/array.go +++ b/ole/array.go @@ -2,7 +2,7 @@ package ole import ( "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "log" "unsafe" ) @@ -41,7 +41,7 @@ func NewArrayWithBounds[T any](bounds []win32.SAFEARRAYBOUND, scoped bool) Array } func NewArrayWithVt[T any](varType win32.VARENUM, bounds []win32.SAFEARRAYBOUND, scoped bool) Array[T] { - psa := win32.SafeArrayCreate(uint16(varType), uint32(len(bounds)), &bounds[0]) + psa := win32.SafeArrayCreate(varType, uint32(len(bounds)), &bounds[0]) a := Array[T]{psa} a.lock() if scoped { @@ -91,7 +91,7 @@ func (me Array[T]) GetDimCount() int { } func (me Array[T]) GetVarType() win32.VARENUM { - var vt uint16 + var vt win32.VARENUM win32.SafeArrayGetVartype(me.Psa, &vt) return win32.VARENUM(vt) } @@ -189,7 +189,7 @@ func (me Array[T]) ToVar() Variant { func (me Array[T]) ToVarEx(copy bool, scoped bool) Variant { var v Variant - v.Vt = uint16(win32.VT_ARRAY | me.GetVarType()) + v.Vt = win32.VT_ARRAY | me.GetVarType() if copy { *v.Parray() = me.Copy().Detach() } else { diff --git a/ole/context.go b/ole/context.go index 99fb46b..efb008d 100644 --- a/ole/context.go +++ b/ole/context.go @@ -2,7 +2,7 @@ package ole import ( "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "runtime" ) diff --git a/ole/dynclient.go b/ole/dynclient.go index 6266286..1be80bf 100644 --- a/ole/dynclient.go +++ b/ole/dynclient.go @@ -2,7 +2,7 @@ package ole import ( "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "log" ) diff --git a/ole/event.go b/ole/event.go index bbf4ebf..882638c 100644 --- a/ole/event.go +++ b/ole/event.go @@ -2,7 +2,7 @@ package ole import ( "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "syscall" "unsafe" ) diff --git a/ole/impl.go b/ole/impl.go index e946830..c8e94f3 100644 --- a/ole/impl.go +++ b/ole/impl.go @@ -5,7 +5,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type IDispatchImpl struct { @@ -66,7 +66,7 @@ func (this *IDispatchComObj) GetIDsOfNames(riid *syscall.GUID, } func (this *IDispatchComObj) Invoke(dispIdMember int32, riid *syscall.GUID, - lcid uint32, wFlags uint16, pDispParams *win32.DISPPARAMS, + lcid uint32, wFlags win32.DISPATCH_FLAGS, pDispParams *win32.DISPPARAMS, pVarResult *win32.VARIANT, pExcepInfo *win32.EXCEPINFO, puArgErr *uint32) uintptr { return uintptr(this.impl().Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr)) diff --git a/ole/oleclient.go b/ole/oleclient.go index df0c98d..bea40bc 100644 --- a/ole/oleclient.go +++ b/ole/oleclient.go @@ -5,7 +5,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type IDispatchProvider interface { @@ -51,7 +51,7 @@ func (this *OleClient) PropPut(dispId win32.DISPID, dispParams.RgdispidNamedArgs = &named hr := this.Invoke(dispId, &win32.IID_NULL, win32.LOCALE_INVARIANT, - uint16(win32.DISPATCH_PROPERTYPUT), &dispParams, nil, nil, nil) + win32.DISPATCH_PROPERTYPUT, &dispParams, nil, nil, nil) unwrapActions.Execute() if win32.FAILED(hr) { err := com.NewError(hr) @@ -71,7 +71,7 @@ func (this *OleClient) PropPutRef(dispId win32.DISPID, dispParams.RgdispidNamedArgs = &named hr := this.Invoke(dispId, &win32.IID_NULL, win32.LOCALE_INVARIANT, - uint16(win32.DISPATCH_PROPERTYPUTREF), &dispParams, nil, nil, nil) + win32.DISPATCH_PROPERTYPUTREF, &dispParams, nil, nil, nil) unwrapActions.Execute() if win32.FAILED(hr) { err := com.NewError(hr) @@ -88,7 +88,7 @@ func (this *OleClient) PropGet(dispId win32.DISPID, var result Variant hr := this.Invoke(dispId, &win32.IID_NULL, win32.LOCALE_INVARIANT, - uint16(win32.DISPATCH_PROPERTYGET), &dispParams, (*win32.VARIANT)(&result), nil, nil) + win32.DISPATCH_PROPERTYGET, &dispParams, (*win32.VARIANT)(&result), nil, nil) unwrapActions.Execute() if win32.FAILED(hr) { err := com.NewError(hr) @@ -105,7 +105,7 @@ func (this *OleClient) Call(dispId win32.DISPID, var result Variant hr := this.Invoke(dispId, &win32.IID_NULL, win32.LOCALE_INVARIANT, - uint16(win32.DISPATCH_METHOD), &dispParams, (*win32.VARIANT)(&result), nil, nil) + win32.DISPATCH_METHOD, &dispParams, (*win32.VARIANT)(&result), nil, nil) unwrapActions.Execute() if win32.FAILED(hr) { @@ -149,7 +149,7 @@ func VariantFromValue(value interface{}) *Variant { func SetVariantParam(v *Variant, value interface{}, unwrapActions *Actions) { if value == nil { - v.Vt = uint16(win32.VT_ERROR) + v.Vt = win32.VT_ERROR *v.Scode() = win32.DISP_E_PARAMNOTFOUND return } @@ -157,96 +157,96 @@ func SetVariantParam(v *Variant, value interface{}, unwrapActions *Actions) { case Variant: *v = val case *Variant: - v.Vt = uint16(win32.VT_VARIANT | win32.VT_BYREF) + v.Vt = win32.VT_VARIANT | win32.VT_BYREF *v.PvarVal() = (*win32.VARIANT)(val) case int8: - v.Vt = uint16(win32.VT_I1) + v.Vt = win32.VT_I1 *v.CVal() = win32.CHAR(val) case uint8: - v.Vt = uint16(win32.VT_UI1) + v.Vt = win32.VT_UI1 *v.BVal() = val case int16: - v.Vt = uint16(win32.VT_I2) + v.Vt = win32.VT_I2 *v.IVal() = val case uint16: - v.Vt = uint16(win32.VT_UI2) + v.Vt = win32.VT_UI2 *v.UiVal() = val case int32: - v.Vt = uint16(win32.VT_I4) + v.Vt = win32.VT_I4 *v.LVal() = val case uint32: - v.Vt = uint16(win32.VT_UI4) + v.Vt = win32.VT_UI4 *v.UlVal() = val case int64: - v.Vt = uint16(win32.VT_I8) + v.Vt = win32.VT_I8 *v.LlVal() = val case uint64: - v.Vt = uint16(win32.VT_UI8) + v.Vt = win32.VT_UI8 *v.UllVal() = val case float32: - v.Vt = uint16(win32.VT_R4) + v.Vt = win32.VT_R4 *v.FltVal() = val case float64: - v.Vt = uint16(win32.VT_R8) + v.Vt = win32.VT_R8 *v.DblVal() = val case time.Time: - v.Vt = uint16(win32.VT_DATE) + v.Vt = win32.VT_DATE //?*v.DateVal() = case string: - v.Vt = uint16(win32.VT_BSTR) + v.Vt = win32.VT_BSTR bs := win32.StrToBstr(val) *v.BstrVal() = bs unwrapActions.Add(func() { win32.SysFreeString(bs) }) case *int8: - v.Vt = uint16(win32.VT_I1 | win32.VT_BYREF) + v.Vt = win32.VT_I1 | win32.VT_BYREF *v.PcVal() = (*win32.CHAR)(unsafe.Pointer(val)) case *uint8: - v.Vt = uint16(win32.VT_UI1 | win32.VT_BYREF) + v.Vt = win32.VT_UI1 | win32.VT_BYREF *v.PbVal() = val case *int16: - v.Vt = uint16(win32.VT_UI2 | win32.VT_BYREF) + v.Vt = win32.VT_UI2 | win32.VT_BYREF *v.PiVal() = val case *uint16: - v.Vt = uint16(win32.VT_UI2 | win32.VT_BYREF) + v.Vt = win32.VT_UI2 | win32.VT_BYREF *v.PuiVal() = val case *int32: - v.Vt = uint16(win32.VT_I4 | win32.VT_BYREF) + v.Vt = win32.VT_I4 | win32.VT_BYREF *v.PlVal() = val case *uint32: - v.Vt = uint16(win32.VT_UI4 | win32.VT_BYREF) + v.Vt = win32.VT_UI4 | win32.VT_BYREF *v.PulVal() = val case *int64: - v.Vt = uint16(win32.VT_I8 | win32.VT_BYREF) + v.Vt = win32.VT_I8 | win32.VT_BYREF *v.PllVal() = val case *uint64: - v.Vt = uint16(win32.VT_UI8 | win32.VT_BYREF) + v.Vt = win32.VT_UI8 | win32.VT_BYREF *v.PullVal() = val case *float32: - v.Vt = uint16(win32.VT_R4 | win32.VT_BYREF) + v.Vt = win32.VT_R4 | win32.VT_BYREF *v.PfltVal() = val case *float64: - v.Vt = uint16(win32.VT_R8 | win32.VT_BYREF) + v.Vt = win32.VT_R8 | win32.VT_BYREF *v.PdblVal() = val case *time.Time: - //v.Vt = uint16(win32.VT_DATE) + //v.Vt = win32.VT_DATE case *string: - v.Vt = uint16(win32.VT_BSTR | win32.VT_BYREF) + v.Vt = win32.VT_BSTR | win32.VT_BYREF bs := com.NewBStringFromStr(*val) *v.PbstrVal() = bs.PBSTR() unwrapActions.Add(func() { *val = bs.ToStringAndFree() }) case bool: - v.Vt = uint16(win32.VT_BOOL) + v.Vt = win32.VT_BOOL if val { *v.BoolVal() = win32.VARIANT_TRUE } else { *v.BoolVal() = win32.VARIANT_FALSE } case *bool: - v.Vt = uint16(win32.VT_BOOL | win32.VT_BYREF) + v.Vt = win32.VT_BOOL | win32.VT_BYREF var val2 win32.VARIANT_BOOL if *val { val2 = win32.VARIANT_TRUE @@ -258,24 +258,24 @@ func SetVariantParam(v *Variant, value interface{}, unwrapActions *Actions) { case *win32.BSTR: *v.PbstrVal() = val case int: - //v.Vt = uint16(win32.VT_INT) - v.Vt = uint16(win32.VT_I4) + //v.Vt = win32.VT_INT + v.Vt = win32.VT_I4 *v.IntVal() = int32(val) case uint: - //v.Vt = uint16(win32.VT_UINT) - v.Vt = uint16(win32.VT_UI4) + //v.Vt = win32.VT_UINT + v.Vt = win32.VT_UI4 *v.UintVal() = uint32(val) case *int: - //v.Vt = uint16(win32.VT_INT | win32.VT_BYREF) - v.Vt = uint16(win32.VT_I4 | win32.VT_BYREF) + //v.Vt = win32.VT_INT | win32.VT_BYREF + v.Vt = win32.VT_I4 | win32.VT_BYREF val2 := int32(*val) *v.PintVal() = &val2 unwrapActions.Add(func() { *val = int(val2) }) case *uint: - //v.Vt = uint16(win32.VT_UINT | win32.VT_BYREF) - v.Vt = uint16(win32.VT_UI4 | win32.VT_BYREF) + //v.Vt = win32.VT_UINT | win32.VT_BYREF + v.Vt = win32.VT_UI4 | win32.VT_BYREF val2 := uint32(*val) *v.PuintVal() = &val2 unwrapActions.Add(func() { @@ -283,29 +283,29 @@ func SetVariantParam(v *Variant, value interface{}, unwrapActions *Actions) { }) case *win32.IUnknown: - v.Vt = uint16(win32.VT_UNKNOWN) + v.Vt = win32.VT_UNKNOWN *v.PunkVal() = val case **win32.IUnknown: - v.Vt = uint16(win32.VT_UNKNOWN | win32.VT_BYREF) + v.Vt = win32.VT_UNKNOWN | win32.VT_BYREF *v.PpunkVal() = val case *win32.IDispatch: - v.Vt = uint16(win32.VT_DISPATCH) + v.Vt = win32.VT_DISPATCH *v.PdispVal() = val case **win32.IDispatch: - v.Vt = uint16(win32.VT_DISPATCH | win32.VT_BYREF) + v.Vt = win32.VT_DISPATCH | win32.VT_BYREF *v.PpdispVal() = val case IDispatchProvider: - v.Vt = uint16(win32.VT_DISPATCH) + v.Vt = win32.VT_DISPATCH *v.PdispVal() = val.GetIDispatch(false) //? case SafeArrayInterface: psa := val.SafeArrayPtr() - var vt uint16 + var vt win32.VARENUM win32.SafeArrayGetVartype(psa, &vt) - v.Vt = uint16(win32.VT_ARRAY) | vt + v.Vt = win32.VT_ARRAY | vt *v.Parray() = psa case *win32.SAFEARRAY: - v.Vt = uint16(win32.VT_ARRAY) + v.Vt = win32.VT_ARRAY *v.Parray() = val default: panic("??") diff --git a/ole/oleimpl/boundmethod.go b/ole/oleimpl/boundmethod.go index 40745be..5d8fe3f 100644 --- a/ole/oleimpl/boundmethod.go +++ b/ole/oleimpl/boundmethod.go @@ -2,7 +2,7 @@ package oleimpl import ( "github.com/zzl/go-com/ole" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "syscall" ) @@ -18,7 +18,7 @@ func (this *BoundMethodDispImpl) GetIDsOfNames(riid *syscall.GUID, rgszNames *wi } func (this *BoundMethodDispImpl) Invoke(dispIdMember int32, riid *syscall.GUID, - lcid uint32, wFlags uint16, pDispParams *win32.DISPPARAMS, pVarResult *win32.VARIANT, + lcid uint32, wFlags win32.DISPATCH_FLAGS, pDispParams *win32.DISPPARAMS, pVarResult *win32.VARIANT, pExcepInfo *win32.EXCEPINFO, puArgErr *uint32) win32.HRESULT { if dispIdMember == int32(win32.DISPID_VALUE) { return this.ownerDispObj.Invoke(this.memberDispId, riid, lcid, diff --git a/ole/oleimpl/dual.go b/ole/oleimpl/dual.go index b0c0bd3..8f981d1 100644 --- a/ole/oleimpl/dual.go +++ b/ole/oleimpl/dual.go @@ -2,7 +2,7 @@ package oleimpl import ( "github.com/zzl/go-com/ole" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "syscall" "unsafe" ) diff --git a/ole/oleimpl/dualwithevents.go b/ole/oleimpl/dualwithevents.go index f80ca87..d521b1b 100644 --- a/ole/oleimpl/dualwithevents.go +++ b/ole/oleimpl/dualwithevents.go @@ -1,7 +1,7 @@ package oleimpl import ( - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" "syscall" "unsafe" ) diff --git a/ole/oleimpl/funcmap.go b/ole/oleimpl/funcmap.go index fad2de6..46c9c2f 100644 --- a/ole/oleimpl/funcmap.go +++ b/ole/oleimpl/funcmap.go @@ -6,7 +6,7 @@ import ( "unsafe" "github.com/zzl/go-com/ole" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type VariantFunc func(args ...*ole.Variant) *ole.Variant @@ -56,14 +56,14 @@ func (this *FuncMapDispImpl) GetIDsOfNames(riid *syscall.GUID, rgszNames *win32. } func (this *FuncMapDispImpl) Invoke(dispIdMember int32, riid *syscall.GUID, - lcid uint32, wFlags uint16, pDispParams *win32.DISPPARAMS, pVarResult *win32.VARIANT, + lcid uint32, wFlags win32.DISPATCH_FLAGS, pDispParams *win32.DISPPARAMS, pVarResult *win32.VARIANT, pExcepInfo *win32.EXCEPINFO, puArgErr *uint32) win32.HRESULT { vArgs, _ := ole.ProcessInvokeArgs(pDispParams, 9) funcIdx := int(dispIdMember) - 1 if funcIdx >= 0 && funcIdx < len(this.funcs) { - if wFlags == uint16(win32.DISPATCH_PROPERTYGET) { // + if wFlags == win32.DISPATCH_PROPERTYGET { // if pDispParams.CArgs == 0 { pDispThis := (*win32.IDispatch)(unsafe.Pointer(this.ComObj.GetIUnknownComObj())) pDisp := NewBoundMethodDispatch(pDispThis, dispIdMember) @@ -82,10 +82,10 @@ func (this *FuncMapDispImpl) Invoke(dispIdMember int32, riid *syscall.GUID, } else if propIdx := funcIdx - len(this.funcs); propIdx >= 0 && propIdx < len(this.props) { prop := this.props[propIdx] var f VariantFunc - if wFlags == uint16(win32.DISPATCH_PROPERTYGET) { + if wFlags == win32.DISPATCH_PROPERTYGET { f = prop.Get - } else if wFlags == uint16(win32.DISPATCH_PROPERTYPUT) || - wFlags == uint16(win32.DISPATCH_PROPERTYPUTREF) { + } else if wFlags == win32.DISPATCH_PROPERTYPUT || + wFlags == win32.DISPATCH_PROPERTYPUTREF { f = prop.Set } if f == nil { diff --git a/ole/oleimpl/reflect.go b/ole/oleimpl/reflect.go index 74bdab8..2b25a16 100644 --- a/ole/oleimpl/reflect.go +++ b/ole/oleimpl/reflect.go @@ -9,7 +9,7 @@ import ( "github.com/zzl/go-com/ole" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type ReflectDispMember struct { @@ -89,7 +89,7 @@ func (this *ReflectDispImpl) GetIDsOfNames(riid *syscall.GUID, rgszNames *win32. } func (this *ReflectDispImpl) Invoke(dispIdMember int32, riid *syscall.GUID, - lcid uint32, wFlags uint16, pDispParams *win32.DISPPARAMS, pVarResult *win32.VARIANT, + lcid uint32, wFlags win32.DISPATCH_FLAGS, pDispParams *win32.DISPPARAMS, pVarResult *win32.VARIANT, pExcepInfo *win32.EXCEPINFO, puArgErr *uint32) win32.HRESULT { dispId := int(dispIdMember) if dispId == 0 { @@ -99,9 +99,9 @@ func (this *ReflectDispImpl) Invoke(dispIdMember int32, riid *syscall.GUID, } member := this.members[dispId-1] var funcValue *reflect.Value - if wFlags&uint16(win32.DISPATCH_METHOD) != 0 { + if wFlags&win32.DISPATCH_METHOD != 0 { funcValue = member.CallFuncValue - } else if wFlags == uint16(win32.DISPATCH_PROPERTYGET) { + } else if wFlags == win32.DISPATCH_PROPERTYGET { funcValue = member.GetFuncValue if funcValue == nil { if member.CallFuncValue != nil && pDispParams.CArgs == 0 { diff --git a/ole/types.go b/ole/types.go index 1e96e65..187c035 100644 --- a/ole/types.go +++ b/ole/types.go @@ -4,7 +4,7 @@ import ( "time" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type NamedArg struct { diff --git a/ole/utils.go b/ole/utils.go index 959498b..313574d 100644 --- a/ole/utils.go +++ b/ole/utils.go @@ -3,7 +3,7 @@ package ole import ( "unsafe" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) func ProcessInvokeArgs(pDispParams *win32.DISPPARAMS, formalArgc int) ([]*Variant, []int) { diff --git a/ole/variant.go b/ole/variant.go index b74d060..5965948 100644 --- a/ole/variant.go +++ b/ole/variant.go @@ -11,7 +11,7 @@ import ( "unsafe" "github.com/zzl/go-com/com" - "github.com/zzl/go-win32api/win32" + "github.com/zzl/go-win32api/v2/win32" ) type Variant win32.VARIANT @@ -30,7 +30,7 @@ func NewVariant(value interface{}) *Variant { case *win32.IUnknown: val.AddRef() //ref added v := &Variant{} - v.Vt = uint16(win32.VT_UNKNOWN) + v.Vt = win32.VT_UNKNOWN *v.PunkVal() = val return v case nil: @@ -38,66 +38,66 @@ func NewVariant(value interface{}) *Variant { case int: v := &Variant{} if val >= math.MinInt32 && val <= math.MaxInt32 { - v.Vt = uint16(win32.VT_I4) + v.Vt = win32.VT_I4 *v.IntVal() = int32(val) } else { - v.Vt = uint16(win32.VT_I8) + v.Vt = win32.VT_I8 *v.LlVal() = int64(val) } return v case uint: v := &Variant{} if val <= math.MaxUint32 { - v.Vt = uint16(win32.VT_UI4) + v.Vt = win32.VT_UI4 *v.UintVal() = uint32(val) } else { - v.Vt = uint16(win32.VT_UI8) + v.Vt = win32.VT_UI8 *v.UllVal() = uint64(val) } return v case int8: v := &Variant{} - v.Vt = uint16(win32.VT_I1) + v.Vt = win32.VT_I1 *v.CVal() = win32.CHAR(val) return v case uint8: v := &Variant{} - v.Vt = uint16(win32.VT_I1) + v.Vt = win32.VT_I1 *v.BVal() = val return v case int16: v := &Variant{} - v.Vt = uint16(win32.VT_I2) + v.Vt = win32.VT_I2 *v.IVal() = val return v case uint16: v := &Variant{} - v.Vt = uint16(win32.VT_UI2) + v.Vt = win32.VT_UI2 *v.UiVal() = val return v case int32: v := &Variant{} - v.Vt = uint16(win32.VT_I4) + v.Vt = win32.VT_I4 *v.LVal() = val return v case uint32: v := &Variant{} - v.Vt = uint16(win32.VT_UI4) + v.Vt = win32.VT_UI4 *v.UlVal() = val return v case int64: v := &Variant{} - v.Vt = uint16(win32.VT_I8) + v.Vt = win32.VT_I8 *v.LlVal() = val return v case uint64: v := &Variant{} - v.Vt = uint16(win32.VT_UI8) + v.Vt = win32.VT_UI8 *v.UllVal() = val return v case time.Time: v := &Variant{} - v.Vt = uint16(win32.VT_DATE) + v.Vt = win32.VT_DATE *v.Date() = float64(NewOleDateFromGoTime(val)) return v default: @@ -123,7 +123,7 @@ func (this *Variant) Clear() { func (this *Variant) ChangeType(vt win32.VARENUM) (*Variant, error) { var v Variant hr := win32.VariantChangeType((*win32.VARIANT)(&v), - (*win32.VARIANT)(this), 0, uint16(vt)) + (*win32.VARIANT)(this), 0, vt) return &v, com.NewErrorOrNil(hr) } @@ -795,9 +795,9 @@ func (this *Variant) ToFloat64() (float64, error) { // func (this *Variant) ToTime() (time.Time, error) { - v, vt := this, uint16(win32.VT_DATE) + v, vt := this, win32.VT_DATE if v.Vt != vt { - if v.Vt == vt|uint16(win32.VT_BYREF) { + if v.Vt == vt|win32.VT_BYREF { return Date(*v.PdateVal()).ToGoTime(), nil } v = &Variant{} @@ -810,9 +810,9 @@ func (this *Variant) ToTime() (time.Time, error) { } func (this *Variant) ToCurrency() (Currency, error) { - v, vt := this, uint16(win32.VT_CY) + v, vt := this, win32.VT_CY if v.Vt != vt { - if v.Vt == vt|uint16(win32.VT_BYREF) { + if v.Vt == vt|win32.VT_BYREF { return Currency(*v.PcyValVal()), nil } v = &Variant{} @@ -874,13 +874,13 @@ func (this *Variant) IDispatch() *win32.IDispatch { } func (this *Variant) ToIDispatch() (*win32.IDispatch, error) { - v, vt := this, uint16(win32.VT_DISPATCH) + v, vt := this, win32.VT_DISPATCH if v.Vt == vt { pDisp := v.PdispValVal() //pDisp.AddRef() return pDisp, nil } - if v.Vt == vt|uint16(win32.VT_BYREF) { + if v.Vt == vt|win32.VT_BYREF { pDisp := *v.PpdispValVal() //pDisp.AddRef() return pDisp, nil @@ -896,13 +896,13 @@ func (this *Variant) ToIDispatch() (*win32.IDispatch, error) { } func (this *Variant) ToIUnknown() (*win32.IUnknown, error) { - v, vt := this, uint16(win32.VT_UNKNOWN) + v, vt := this, win32.VT_UNKNOWN if v.Vt == vt { pUnk := v.PunkValVal() //pUnk.AddRef() return pUnk, nil } - if v.Vt == vt|uint16(win32.VT_BYREF) { + if v.Vt == vt|win32.VT_BYREF { pUnk := *v.PpunkValVal() //pUnk.AddRef() return pUnk, nil @@ -919,9 +919,9 @@ func (this *Variant) ToIUnknown() (*win32.IUnknown, error) { // func (this *Variant) ToHresult() (win32.HRESULT, error) { - v, vt := this, uint16(win32.VT_ERROR) + v, vt := this, win32.VT_ERROR if v.Vt != vt { - if v.Vt == vt|uint16(win32.VT_BYREF) { + if v.Vt == vt|win32.VT_BYREF { return *v.PscodeVal(), nil } v = &Variant{} @@ -971,9 +971,9 @@ func (this *Variant) ToBool() (bool, error) { } func (this *Variant) ToDecimal() (Decimal, error) { - v, vt := this, uint16(win32.VT_DECIMAL) + v, vt := this, win32.VT_DECIMAL if v.Vt != vt { - if v.Vt == vt|uint16(win32.VT_BYREF) { + if v.Vt == vt|win32.VT_BYREF { return Decimal(*v.PdecValVal()), nil } v = &Variant{} @@ -987,9 +987,9 @@ func (this *Variant) ToDecimal() (Decimal, error) { //no copy func (this *Variant) ToArray() (*win32.SAFEARRAY, error) { - v, vt := this, uint16(win32.VT_ARRAY) + v, vt := this, win32.VT_ARRAY if v.Vt != vt { - if v.Vt == vt|uint16(win32.VT_BYREF) { + if v.Vt == vt|win32.VT_BYREF { return *v.PparrayVal(), nil } else { return nil, com.NewError(win32.DISP_E_BADVARTYPE) @@ -1005,14 +1005,14 @@ func (this *Variant) ToArray() (*win32.SAFEARRAY, error) { // func (this *Variant) ToInt8Ref() *int8 { - if this.Vt != uint16(win32.VT_I1|win32.VT_BYREF) { + if this.Vt != win32.VT_I1|win32.VT_BYREF { return nil } return (*int8)(unsafe.Pointer(*this.PcVal())) } func (this *Variant) ToUint8Ref() *uint8 { - if this.Vt != uint16(win32.VT_UI1|win32.VT_BYREF) { + if this.Vt != win32.VT_UI1|win32.VT_BYREF { return nil } return *this.PbVal() @@ -1024,14 +1024,14 @@ func (this *Variant) ToByteRef() *byte { // func (this *Variant) ToInt16Ref() *int16 { - if this.Vt != uint16(win32.VT_I2|win32.VT_BYREF) { + if this.Vt != win32.VT_I2|win32.VT_BYREF { return nil } return *this.PiVal() } func (this *Variant) ToUint16Ref() *uint16 { - if this.Vt != uint16(win32.VT_UI2|win32.VT_BYREF) { + if this.Vt != win32.VT_UI2|win32.VT_BYREF { return nil } return *this.PuiVal() @@ -1039,16 +1039,16 @@ func (this *Variant) ToUint16Ref() *uint16 { // func (this *Variant) ToInt32Ref() *int32 { - if this.Vt != uint16(win32.VT_I4|win32.VT_BYREF) || - this.Vt != uint16(win32.VT_INT|win32.VT_BYREF) { + if this.Vt != win32.VT_I4|win32.VT_BYREF || + this.Vt != win32.VT_INT|win32.VT_BYREF { return nil } return *this.PlVal() } func (this *Variant) ToUint32Ref() *uint32 { - if this.Vt != uint16(win32.VT_UI4|win32.VT_BYREF) || - this.Vt != uint16(win32.VT_UINT|win32.VT_BYREF) { + if this.Vt != win32.VT_UI4|win32.VT_BYREF || + this.Vt != win32.VT_UINT|win32.VT_BYREF { return nil } return *this.PulVal() @@ -1056,14 +1056,14 @@ func (this *Variant) ToUint32Ref() *uint32 { // func (this *Variant) ToInt64Ref() *int64 { - if this.Vt != uint16(win32.VT_I8|win32.VT_BYREF) { + if this.Vt != win32.VT_I8|win32.VT_BYREF { return nil } return *this.PllVal() } func (this *Variant) ToUint64Ref() *uint64 { - if this.Vt != uint16(win32.VT_UI8|win32.VT_BYREF) { + if this.Vt != win32.VT_UI8|win32.VT_BYREF { return nil } return *this.PullVal() @@ -1071,7 +1071,7 @@ func (this *Variant) ToUint64Ref() *uint64 { // func (this *Variant) ToFloat32Ref() *float32 { - if this.Vt != uint16(win32.VT_R4|win32.VT_BYREF) { + if this.Vt != win32.VT_R4|win32.VT_BYREF { return nil } return *this.PfltVal() @@ -1079,7 +1079,7 @@ func (this *Variant) ToFloat32Ref() *float32 { // func (this *Variant) ToFloat64Ref() *float64 { - if this.Vt != uint16(win32.VT_R8|win32.VT_BYREF) { + if this.Vt != win32.VT_R8|win32.VT_BYREF { return nil } return *this.PdblVal()