// Code generated by winrt-go-gen. DO NOT EDIT. //go:build windows //nolint:all package bluetooth import ( "syscall" "unsafe" "git.savin.nyc/alex/go-winrt/windows/foundation" "github.com/go-ole/go-ole" ) const SignatureBluetoothLEDevice string = "rc(Windows.Devices.Bluetooth.BluetoothLEDevice;{b5ee2f7b-4ad8-4642-ac48-80a0b500e887})" type BluetoothLEDevice struct { ole.IUnknown } func (impl *BluetoothLEDevice) GetConnectionStatus() (BluetoothConnectionStatus, error) { itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothLEDevice)) defer itf.Release() v := (*iBluetoothLEDevice)(unsafe.Pointer(itf)) return v.GetConnectionStatus() } func (impl *BluetoothLEDevice) AddConnectionStatusChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) { itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothLEDevice)) defer itf.Release() v := (*iBluetoothLEDevice)(unsafe.Pointer(itf)) return v.AddConnectionStatusChanged(handler) } func (impl *BluetoothLEDevice) RemoveConnectionStatusChanged(token foundation.EventRegistrationToken) error { itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothLEDevice)) defer itf.Release() v := (*iBluetoothLEDevice)(unsafe.Pointer(itf)) return v.RemoveConnectionStatusChanged(token) } func (impl *BluetoothLEDevice) GetGattServicesAsync() (*foundation.IAsyncOperation, error) { itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothLEDevice3)) defer itf.Release() v := (*iBluetoothLEDevice3)(unsafe.Pointer(itf)) return v.GetGattServicesAsync() } func (impl *BluetoothLEDevice) GetGattServicesWithCacheModeAsync(cacheMode BluetoothCacheMode) (*foundation.IAsyncOperation, error) { itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothLEDevice3)) defer itf.Release() v := (*iBluetoothLEDevice3)(unsafe.Pointer(itf)) return v.GetGattServicesWithCacheModeAsync(cacheMode) } func (impl *BluetoothLEDevice) GetBluetoothDeviceId() (*BluetoothDeviceId, error) { itf := impl.MustQueryInterface(ole.NewGUID(GUIDiBluetoothLEDevice4)) defer itf.Release() v := (*iBluetoothLEDevice4)(unsafe.Pointer(itf)) return v.GetBluetoothDeviceId() } func (impl *BluetoothLEDevice) Close() error { itf := impl.MustQueryInterface(ole.NewGUID(foundation.GUIDIClosable)) defer itf.Release() v := (*foundation.IClosable)(unsafe.Pointer(itf)) return v.Close() } const GUIDiBluetoothLEDevice string = "b5ee2f7b-4ad8-4642-ac48-80a0b500e887" const SignatureiBluetoothLEDevice string = "{b5ee2f7b-4ad8-4642-ac48-80a0b500e887}" type iBluetoothLEDevice struct { ole.IInspectable } type iBluetoothLEDeviceVtbl struct { ole.IInspectableVtbl GetDeviceId uintptr GetName uintptr GetGattServices uintptr GetConnectionStatus uintptr GetBluetoothAddress uintptr GetGattService uintptr AddNameChanged uintptr RemoveNameChanged uintptr AddGattServicesChanged uintptr RemoveGattServicesChanged uintptr AddConnectionStatusChanged uintptr RemoveConnectionStatusChanged uintptr } func (v *iBluetoothLEDevice) VTable() *iBluetoothLEDeviceVtbl { return (*iBluetoothLEDeviceVtbl)(unsafe.Pointer(v.RawVTable)) } func (v *iBluetoothLEDevice) GetConnectionStatus() (BluetoothConnectionStatus, error) { var out BluetoothConnectionStatus hr, _, _ := syscall.SyscallN( v.VTable().GetConnectionStatus, uintptr(unsafe.Pointer(v)), // this uintptr(unsafe.Pointer(&out)), // out BluetoothConnectionStatus ) if hr != 0 { return BluetoothConnectionStatusDisconnected, ole.NewError(hr) } return out, nil } func (v *iBluetoothLEDevice) AddConnectionStatusChanged(handler *foundation.TypedEventHandler) (foundation.EventRegistrationToken, error) { var out foundation.EventRegistrationToken hr, _, _ := syscall.SyscallN( v.VTable().AddConnectionStatusChanged, uintptr(unsafe.Pointer(v)), // this uintptr(unsafe.Pointer(handler)), // in foundation.TypedEventHandler uintptr(unsafe.Pointer(&out)), // out foundation.EventRegistrationToken ) if hr != 0 { return foundation.EventRegistrationToken{}, ole.NewError(hr) } return out, nil } func (v *iBluetoothLEDevice) RemoveConnectionStatusChanged(token foundation.EventRegistrationToken) error { hr, _, _ := syscall.SyscallN( v.VTable().RemoveConnectionStatusChanged, uintptr(unsafe.Pointer(v)), // this uintptr(unsafe.Pointer(&token)), // in foundation.EventRegistrationToken ) if hr != 0 { return ole.NewError(hr) } return nil } const GUIDiBluetoothLEDevice2 string = "26f062b3-7aee-4d31-baba-b1b9775f5916" const SignatureiBluetoothLEDevice2 string = "{26f062b3-7aee-4d31-baba-b1b9775f5916}" type iBluetoothLEDevice2 struct { ole.IInspectable } type iBluetoothLEDevice2Vtbl struct { ole.IInspectableVtbl GetDeviceInformation uintptr GetAppearance uintptr GetBluetoothAddressType uintptr } func (v *iBluetoothLEDevice2) VTable() *iBluetoothLEDevice2Vtbl { return (*iBluetoothLEDevice2Vtbl)(unsafe.Pointer(v.RawVTable)) } const GUIDiBluetoothLEDevice3 string = "aee9e493-44ac-40dc-af33-b2c13c01ca46" const SignatureiBluetoothLEDevice3 string = "{aee9e493-44ac-40dc-af33-b2c13c01ca46}" type iBluetoothLEDevice3 struct { ole.IInspectable } type iBluetoothLEDevice3Vtbl struct { ole.IInspectableVtbl GetDeviceAccessInformation uintptr RequestAccessAsync uintptr GetGattServicesAsync uintptr GetGattServicesWithCacheModeAsync uintptr GetGattServicesForUuidAsync uintptr GetGattServicesForUuidWithCacheModeAsync uintptr } func (v *iBluetoothLEDevice3) VTable() *iBluetoothLEDevice3Vtbl { return (*iBluetoothLEDevice3Vtbl)(unsafe.Pointer(v.RawVTable)) } func (v *iBluetoothLEDevice3) GetGattServicesAsync() (*foundation.IAsyncOperation, error) { var out *foundation.IAsyncOperation hr, _, _ := syscall.SyscallN( v.VTable().GetGattServicesAsync, uintptr(unsafe.Pointer(v)), // this uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation ) if hr != 0 { return nil, ole.NewError(hr) } return out, nil } func (v *iBluetoothLEDevice3) GetGattServicesWithCacheModeAsync(cacheMode BluetoothCacheMode) (*foundation.IAsyncOperation, error) { var out *foundation.IAsyncOperation hr, _, _ := syscall.SyscallN( v.VTable().GetGattServicesWithCacheModeAsync, uintptr(unsafe.Pointer(v)), // this uintptr(cacheMode), // in BluetoothCacheMode uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation ) if hr != 0 { return nil, ole.NewError(hr) } return out, nil } const GUIDiBluetoothLEDevice4 string = "2b605031-2248-4b2f-acf0-7cee36fc5870" const SignatureiBluetoothLEDevice4 string = "{2b605031-2248-4b2f-acf0-7cee36fc5870}" type iBluetoothLEDevice4 struct { ole.IInspectable } type iBluetoothLEDevice4Vtbl struct { ole.IInspectableVtbl GetBluetoothDeviceId uintptr } func (v *iBluetoothLEDevice4) VTable() *iBluetoothLEDevice4Vtbl { return (*iBluetoothLEDevice4Vtbl)(unsafe.Pointer(v.RawVTable)) } func (v *iBluetoothLEDevice4) GetBluetoothDeviceId() (*BluetoothDeviceId, error) { var out *BluetoothDeviceId hr, _, _ := syscall.SyscallN( v.VTable().GetBluetoothDeviceId, uintptr(unsafe.Pointer(v)), // this uintptr(unsafe.Pointer(&out)), // out BluetoothDeviceId ) if hr != 0 { return nil, ole.NewError(hr) } return out, nil } const GUIDiBluetoothLEDevice5 string = "9d6a1260-5287-458e-95ba-17c8b7bb326e" const SignatureiBluetoothLEDevice5 string = "{9d6a1260-5287-458e-95ba-17c8b7bb326e}" type iBluetoothLEDevice5 struct { ole.IInspectable } type iBluetoothLEDevice5Vtbl struct { ole.IInspectableVtbl GetWasSecureConnectionUsedForPairing uintptr } func (v *iBluetoothLEDevice5) VTable() *iBluetoothLEDevice5Vtbl { return (*iBluetoothLEDevice5Vtbl)(unsafe.Pointer(v.RawVTable)) } const GUIDiBluetoothLEDevice6 string = "ca7190ef-0cae-573c-a1ca-e1fc5bfc39e2" const SignatureiBluetoothLEDevice6 string = "{ca7190ef-0cae-573c-a1ca-e1fc5bfc39e2}" type iBluetoothLEDevice6 struct { ole.IInspectable } type iBluetoothLEDevice6Vtbl struct { ole.IInspectableVtbl GetConnectionParameters uintptr GetConnectionPhy uintptr RequestPreferredConnectionParameters uintptr AddConnectionParametersChanged uintptr RemoveConnectionParametersChanged uintptr AddConnectionPhyChanged uintptr RemoveConnectionPhyChanged uintptr } func (v *iBluetoothLEDevice6) VTable() *iBluetoothLEDevice6Vtbl { return (*iBluetoothLEDevice6Vtbl)(unsafe.Pointer(v.RawVTable)) } const GUIDiBluetoothLEDeviceStatics2 string = "5f12c06b-3bac-43e8-ad16-563271bd41c2" const SignatureiBluetoothLEDeviceStatics2 string = "{5f12c06b-3bac-43e8-ad16-563271bd41c2}" type iBluetoothLEDeviceStatics2 struct { ole.IInspectable } type iBluetoothLEDeviceStatics2Vtbl struct { ole.IInspectableVtbl BluetoothLEDeviceGetDeviceSelectorFromPairingState uintptr BluetoothLEDeviceGetDeviceSelectorFromConnectionStatus uintptr BluetoothLEDeviceGetDeviceSelectorFromDeviceName uintptr BluetoothLEDeviceGetDeviceSelectorFromBluetoothAddress uintptr BluetoothLEDeviceGetDeviceSelectorFromBluetoothAddressWithBluetoothAddressType uintptr BluetoothLEDeviceGetDeviceSelectorFromAppearance uintptr BluetoothLEDeviceFromBluetoothAddressWithBluetoothAddressTypeAsync uintptr } func (v *iBluetoothLEDeviceStatics2) VTable() *iBluetoothLEDeviceStatics2Vtbl { return (*iBluetoothLEDeviceStatics2Vtbl)(unsafe.Pointer(v.RawVTable)) } func BluetoothLEDeviceFromBluetoothAddressWithBluetoothAddressTypeAsync(bluetoothAddress uint64, bluetoothAddressType BluetoothAddressType) (*foundation.IAsyncOperation, error) { inspectable, err := ole.RoGetActivationFactory("Windows.Devices.Bluetooth.BluetoothLEDevice", ole.NewGUID(GUIDiBluetoothLEDeviceStatics2)) if err != nil { return nil, err } v := (*iBluetoothLEDeviceStatics2)(unsafe.Pointer(inspectable)) var out *foundation.IAsyncOperation hr, _, _ := syscall.SyscallN( v.VTable().BluetoothLEDeviceFromBluetoothAddressWithBluetoothAddressTypeAsync, uintptr(unsafe.Pointer(v)), // this uintptr(bluetoothAddress), // in uint64 uintptr(bluetoothAddressType), // in BluetoothAddressType uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation ) if hr != 0 { return nil, ole.NewError(hr) } return out, nil } const GUIDiBluetoothLEDeviceStatics string = "c8cf1a19-f0b6-4bf0-8689-41303de2d9f4" const SignatureiBluetoothLEDeviceStatics string = "{c8cf1a19-f0b6-4bf0-8689-41303de2d9f4}" type iBluetoothLEDeviceStatics struct { ole.IInspectable } type iBluetoothLEDeviceStaticsVtbl struct { ole.IInspectableVtbl BluetoothLEDeviceFromIdAsync uintptr BluetoothLEDeviceFromBluetoothAddressAsync uintptr BluetoothLEDeviceGetDeviceSelector uintptr } func (v *iBluetoothLEDeviceStatics) VTable() *iBluetoothLEDeviceStaticsVtbl { return (*iBluetoothLEDeviceStaticsVtbl)(unsafe.Pointer(v.RawVTable)) } func BluetoothLEDeviceFromBluetoothAddressAsync(bluetoothAddress uint64) (*foundation.IAsyncOperation, error) { inspectable, err := ole.RoGetActivationFactory("Windows.Devices.Bluetooth.BluetoothLEDevice", ole.NewGUID(GUIDiBluetoothLEDeviceStatics)) if err != nil { return nil, err } v := (*iBluetoothLEDeviceStatics)(unsafe.Pointer(inspectable)) var out *foundation.IAsyncOperation hr, _, _ := syscall.SyscallN( v.VTable().BluetoothLEDeviceFromBluetoothAddressAsync, uintptr(unsafe.Pointer(v)), // this uintptr(bluetoothAddress), // in uint64 uintptr(unsafe.Pointer(&out)), // out foundation.IAsyncOperation ) if hr != 0 { return nil, ole.NewError(hr) } return out, nil }