github.com/gofiber/fiber/v2@v2.47.0/internal/go-ole/ienumvariant_windows.go (about) 1 //go:build windows 2 // +build windows 3 4 package ole 5 6 import ( 7 "syscall" 8 "unsafe" 9 ) 10 11 func (enum *IEnumVARIANT) Clone() (cloned *IEnumVARIANT, err error) { 12 hr, _, _ := syscall.Syscall( 13 enum.VTable().Clone, 14 2, 15 uintptr(unsafe.Pointer(enum)), 16 uintptr(unsafe.Pointer(&cloned)), 17 0) 18 if hr != 0 { 19 err = NewError(hr) 20 } 21 return 22 } 23 24 func (enum *IEnumVARIANT) Reset() (err error) { 25 hr, _, _ := syscall.Syscall( 26 enum.VTable().Reset, 27 1, 28 uintptr(unsafe.Pointer(enum)), 29 0, 30 0) 31 if hr != 0 { 32 err = NewError(hr) 33 } 34 return 35 } 36 37 func (enum *IEnumVARIANT) Skip(celt uint) (err error) { 38 hr, _, _ := syscall.Syscall( 39 enum.VTable().Skip, 40 2, 41 uintptr(unsafe.Pointer(enum)), 42 uintptr(celt), 43 0) 44 if hr != 0 { 45 err = NewError(hr) 46 } 47 return 48 } 49 50 func (enum *IEnumVARIANT) Next(celt uint) (array VARIANT, length uint, err error) { 51 hr, _, _ := syscall.Syscall6( 52 enum.VTable().Next, 53 4, 54 uintptr(unsafe.Pointer(enum)), 55 uintptr(celt), 56 uintptr(unsafe.Pointer(&array)), 57 uintptr(unsafe.Pointer(&length)), 58 0, 59 0) 60 if hr != 0 { 61 err = NewError(hr) 62 } 63 return 64 }