107 lines
2.5 KiB
Go
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
|
|
}
|