// +build windows package ole import ( "syscall" "unsafe" ) func (enum *IEnumVARIANT) Clone() (cloned *IEnumVARIANT, err error) { hr, _, _ := syscall.Syscall( enum.VTable().Clone, 2, uintptr(unsafe.Pointer(enum)), uintptr(unsafe.Pointer(&cloned)), 0) if hr != 0 { err = NewError(hr) } return } func (enum *IEnumVARIANT) Reset() (err error) { hr, _, _ := syscall.Syscall( enum.VTable().Reset, 1, uintptr(unsafe.Pointer(enum)), 0, 0) if hr != 0 { err = NewError(hr) } return } func (enum *IEnumVARIANT) Skip(celt uint) (err error) { hr, _, _ := syscall.Syscall( enum.VTable().Skip, 2, uintptr(unsafe.Pointer(enum)), uintptr(celt), 0) if hr != 0 { err = NewError(hr) } return } func (enum *IEnumVARIANT) Next(celt uint) (array VARIANT, length uint, err error) { hr, _, _ := syscall.Syscall6( enum.VTable().Next, 4, uintptr(unsafe.Pointer(enum)), uintptr(celt), uintptr(unsafe.Pointer(&array)), uintptr(unsafe.Pointer(&length)), 0, 0) if hr != 0 { err = NewError(hr) } return }