Files
go-winrt/windows/devices/bluetooth/bluetoothdeviceid.go
2025-08-22 17:42:23 -04:00

107 lines
2.5 KiB
Go

// Code generated by winrt-go-gen. DO NOT EDIT.
//go:build windows
//nolint:all
package bluetooth
import (
"syscall"
"unsafe"
"github.com/go-ole/go-ole"
)
const SignatureBluetoothDeviceId string = "rc(Windows.Devices.Bluetooth.BluetoothDeviceId;{c17949af-57c1-4642-bcce-e6c06b20ae76})"
type BluetoothDeviceId struct {
ole.IUnknown
}
func (impl *BluetoothDeviceId) GetId() (string, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothDeviceId))
defer itf.Release()
v := (*iBluetoothDeviceId)(unsafe.Pointer(itf))
return v.GetId()
}
func (impl *BluetoothDeviceId) GetIsClassicDevice() (bool, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothDeviceId))
defer itf.Release()
v := (*iBluetoothDeviceId)(unsafe.Pointer(itf))
return v.GetIsClassicDevice()
}
func (impl *BluetoothDeviceId) GetIsLowEnergyDevice() (bool, error) {
itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothDeviceId))
defer itf.Release()
v := (*iBluetoothDeviceId)(unsafe.Pointer(itf))
return v.GetIsLowEnergyDevice()
}
const GUIDiBluetoothDeviceId string = "c17949af-57c1-4642-bcce-e6c06b20ae76"
const SignatureiBluetoothDeviceId string = "{c17949af-57c1-4642-bcce-e6c06b20ae76}"
type iBluetoothDeviceId struct {
ole.IInspectable
}
type iBluetoothDeviceIdVtbl struct {
ole.IInspectableVtbl
GetId uintptr
GetIsClassicDevice uintptr
GetIsLowEnergyDevice uintptr
}
func (v *iBluetoothDeviceId) VTable() *iBluetoothDeviceIdVtbl {
return (*iBluetoothDeviceIdVtbl)(unsafe.Pointer(v.RawVTable))
}
func (v *iBluetoothDeviceId) GetId() (string, error) {
var outHStr ole.HString
hr, _, _ := syscall.SyscallN(
v.VTable().GetId,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&outHStr)), // out string
)
if hr != 0 {
return "", ole.NewError(hr)
}
out := outHStr.String()
ole.DeleteHString(outHStr)
return out, nil
}
func (v *iBluetoothDeviceId) GetIsClassicDevice() (bool, error) {
var out bool
hr, _, _ := syscall.SyscallN(
v.VTable().GetIsClassicDevice,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bool
)
if hr != 0 {
return false, ole.NewError(hr)
}
return out, nil
}
func (v *iBluetoothDeviceId) GetIsLowEnergyDevice() (bool, error) {
var out bool
hr, _, _ := syscall.SyscallN(
v.VTable().GetIsLowEnergyDevice,
uintptr(unsafe.Pointer(v)), // this
uintptr(unsafe.Pointer(&out)), // out bool
)
if hr != 0 {
return false, ole.NewError(hr)
}
return out, nil
}