224 lines
4.5 KiB
Go
224 lines
4.5 KiB
Go
// Code generated by winrt-go-gen. DO NOT EDIT.
|
|
|
|
//go:build windows
|
|
|
|
//nolint:all
|
|
package collections
|
|
|
|
import (
|
|
"syscall"
|
|
"unsafe"
|
|
|
|
"github.com/go-ole/go-ole"
|
|
)
|
|
|
|
const GUIDIVector string = "913337e9-11a1-4345-a3a2-4e7f956e222d"
|
|
const SignatureIVector string = "{913337e9-11a1-4345-a3a2-4e7f956e222d}"
|
|
|
|
type IVector struct {
|
|
ole.IInspectable
|
|
}
|
|
|
|
type IVectorVtbl struct {
|
|
ole.IInspectableVtbl
|
|
|
|
GetAt uintptr
|
|
GetSize uintptr
|
|
GetView uintptr
|
|
IndexOf uintptr
|
|
SetAt uintptr
|
|
InsertAt uintptr
|
|
RemoveAt uintptr
|
|
Append uintptr
|
|
RemoveAtEnd uintptr
|
|
Clear uintptr
|
|
GetMany uintptr
|
|
ReplaceAll uintptr
|
|
}
|
|
|
|
func (v *IVector) VTable() *IVectorVtbl {
|
|
return (*IVectorVtbl)(unsafe.Pointer(v.RawVTable))
|
|
}
|
|
|
|
func (v *IVector) GetAt(index uint32) (unsafe.Pointer, error) {
|
|
var out unsafe.Pointer
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().GetAt,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(index), // in uint32
|
|
uintptr(unsafe.Pointer(&out)), // out unsafe.Pointer
|
|
)
|
|
|
|
if hr != 0 {
|
|
return nil, ole.NewError(hr)
|
|
}
|
|
|
|
return out, nil
|
|
}
|
|
|
|
func (v *IVector) GetSize() (uint32, error) {
|
|
var out uint32
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().GetSize,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(unsafe.Pointer(&out)), // out uint32
|
|
)
|
|
|
|
if hr != 0 {
|
|
return 0, ole.NewError(hr)
|
|
}
|
|
|
|
return out, nil
|
|
}
|
|
|
|
func (v *IVector) GetView() (*IVectorView, error) {
|
|
var out *IVectorView
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().GetView,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(unsafe.Pointer(&out)), // out IVectorView
|
|
)
|
|
|
|
if hr != 0 {
|
|
return nil, ole.NewError(hr)
|
|
}
|
|
|
|
return out, nil
|
|
}
|
|
|
|
func (v *IVector) IndexOf(value unsafe.Pointer) (uint32, bool, error) {
|
|
var index uint32
|
|
var out bool
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().IndexOf,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(value), // in unsafe.Pointer
|
|
uintptr(unsafe.Pointer(&index)), // out uint32
|
|
uintptr(unsafe.Pointer(&out)), // out bool
|
|
)
|
|
|
|
if hr != 0 {
|
|
return 0, false, ole.NewError(hr)
|
|
}
|
|
|
|
return index, out, nil
|
|
}
|
|
|
|
func (v *IVector) SetAt(index uint32, value unsafe.Pointer) error {
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().SetAt,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(index), // in uint32
|
|
uintptr(value), // in unsafe.Pointer
|
|
)
|
|
|
|
if hr != 0 {
|
|
return ole.NewError(hr)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (v *IVector) InsertAt(index uint32, value unsafe.Pointer) error {
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().InsertAt,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(index), // in uint32
|
|
uintptr(value), // in unsafe.Pointer
|
|
)
|
|
|
|
if hr != 0 {
|
|
return ole.NewError(hr)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (v *IVector) RemoveAt(index uint32) error {
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().RemoveAt,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(index), // in uint32
|
|
)
|
|
|
|
if hr != 0 {
|
|
return ole.NewError(hr)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (v *IVector) Append(value unsafe.Pointer) error {
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().Append,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(value), // in unsafe.Pointer
|
|
)
|
|
|
|
if hr != 0 {
|
|
return ole.NewError(hr)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (v *IVector) RemoveAtEnd() error {
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().RemoveAtEnd,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
)
|
|
|
|
if hr != 0 {
|
|
return ole.NewError(hr)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (v *IVector) Clear() error {
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().Clear,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
)
|
|
|
|
if hr != 0 {
|
|
return ole.NewError(hr)
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (v *IVector) GetMany(startIndex uint32, itemsSize uint32) ([]unsafe.Pointer, uint32, error) {
|
|
var items []unsafe.Pointer = make([]unsafe.Pointer, itemsSize)
|
|
var out uint32
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().GetMany,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(startIndex), // in uint32
|
|
uintptr(itemsSize), // in uint32
|
|
uintptr(unsafe.Pointer(&items[0])), // out unsafe.Pointer
|
|
uintptr(unsafe.Pointer(&out)), // out uint32
|
|
)
|
|
|
|
if hr != 0 {
|
|
return nil, 0, ole.NewError(hr)
|
|
}
|
|
|
|
return items, out, nil
|
|
}
|
|
|
|
func (v *IVector) ReplaceAll(itemsSize uint32, items []unsafe.Pointer) error {
|
|
hr, _, _ := syscall.SyscallN(
|
|
v.VTable().ReplaceAll,
|
|
uintptr(unsafe.Pointer(v)), // this
|
|
uintptr(itemsSize), // in uint32
|
|
uintptr(unsafe.Pointer(&items[0])), // in unsafe.Pointer
|
|
)
|
|
|
|
if hr != 0 {
|
|
return ole.NewError(hr)
|
|
}
|
|
|
|
return nil
|
|
}
|