first commit

This commit is contained in:
2025-08-22 17:42:23 -04:00
commit a6c09a5890
120 changed files with 11443 additions and 0 deletions

View File

@ -0,0 +1,223 @@
// 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
}