Use dep instead of govendor

Signed-off-by: Dave Henderson <dhenderson@gmail.com>
This commit is contained in:
Dave Henderson
2018-03-13 13:04:49 -04:00
committed by Martin Lindhe
parent b9b8cfd1ca
commit 617d795383
52 changed files with 381 additions and 5287 deletions

View File

@@ -49,6 +49,7 @@ func ConnectObject(disp *ole.IDispatch, iid *ole.GUID, idisp interface{}) (cooki
point.Release()
return
}
return
}
container.Release()

View File

@@ -87,3 +87,27 @@ func MustPutProperty(disp *ole.IDispatch, name string, params ...interface{}) (r
}
return r
}
func ForEach(disp *ole.IDispatch, f func(v *ole.VARIANT) error) error {
newEnum, err := disp.GetProperty("_NewEnum")
if err != nil {
return err
}
defer newEnum.Clear()
enum, err := newEnum.ToIUnknown().IEnumVARIANT(ole.IID_IEnumVariant)
if err != nil {
return err
}
defer enum.Release()
for item, length, err := enum.Next(1); length > 0; item, length, err = enum.Next(1) {
if err != nil {
return err
}
if ferr := f(&item); ferr != nil {
return ferr
}
}
return nil
}