| Namespace | Windows.Devices.Midi2.Transports.Bluetooth |
|---|---|
| Type Name | MidiBluetoothDeviceInformation |
| Type | WinRT Runtime Class |
| IDL | MidiBluetoothDeviceInformation.idl |
Returned by MidiBluetoothTransportManager.GetAvailableDevices and MidiBluetoothTransportManager.GetDevice.
| Property | Description |
|---|---|
BluetoothDeviceId |
The twelve hex digit Bluetooth address, and the key for every operation in this namespace. This is not a Windows device interface id. |
BluetoothAddress |
The same address as a number, for lining up with the Windows.Devices.Bluetooth APIs. |
Name |
The name the device reports. Empty until the device has been heard from for long enough to resolve it. |
SelectedProtocol |
The MidiBluetoothProtocol in use. Unknown until the device is connected, because reading it means reading the device’s characteristics. |
IsConnected |
True when the device is connected to this PC. |
ConnectionState |
A MidiBluetoothConnectionState saying how far along the device is. Connecting happens in the background, and a device the customer asked for is retried until it appears, so this says more than IsConnected can. |
IsPaired |
True when the device is paired with this PC. Pairing is not required for Bluetooth MIDI. |
RequiresPairing |
True when the device will not provide its MIDI service until the link is authenticated. Nothing a device advertises says this, so it is only ever known after an attempt. While it is set, the service stops retrying the device, because every attempt raises another Windows pairing prompt. |
IsPresent |
True while the device is advertising. Bluetooth MIDI peripherals sleep aggressively, so a device which is not present is usually asleep rather than gone. |
SignalStrengthDecibelMilliwatts |
The signal strength of the most recent advertisement. A connected device has stopped advertising, so this stops being meaningful. |
LastSeenAgo |
How long ago the device was last heard from. Means nothing when HasBeenSeen is false. |
HasBeenSeen |
False when the radio has never heard this device at all. This is how a paired device the system remembers is told apart from one which was heard a long time ago. |
HasEndpoint |
True when a MIDI endpoint exists for this device. |
EndpointDeviceId |
The MIDI endpoint’s device interface id, when there is one. |
EndpointDeviceInstanceId |
The endpoint’s instance id, which is what an endpoint customization matches on. |
MessagesReceived |
Count of messages received from the device. |
MessagesSent |
Count of messages sent to the device. |
PacketsReceived |
Count of Bluetooth packets received, counted before any decoding. Packets climbing while MessagesReceived stays at zero means the device is transmitting something this transport cannot decode. Both at zero means it is sending nothing at all. |
PacketsSent |
Count of Bluetooth packets sent. |
TimestampSource |
A MidiBluetoothTimestampSource saying whether the device’s own timestamps are being used, or the time each message arrived is standing in for them. |
ConnectionInterval |
What the link actually negotiated. Zero when not connected. |
LastConnectError |
The transport’s own wording for the most recent connection failure. This is more specific than the error code can be. |
LastConnectErrorCode |
A MidiBluetoothDeviceConnectErrorCode saying why the last connection attempt failed. |
LastConnectErrorHResult |
The HRESULT behind that failure. |
LastSendErrorHResult |
The HRESULT from the most recent failed send. |
OfflineRetentionSeconds |
How long this device’s endpoint outlives it going offline, as seconds or a named MidiBluetoothOfflineRetention value. This is what the device itself is set to, so it can be UseTransportDefault. |
EffectiveOfflineRetentionSeconds |
The same, resolved against the transport setting, so it is never UseTransportDefault. This is the one to show a customer. |
LastConnectErrorCode is worth checking after asking for a connection. Connecting happens in the background long after ConnectDeviceAsync returns, so a failure which happens during that work appears here rather than in the response.
The endpoint’s native data format is not reported here. Read it from the endpoint itself through MidiEndpointDeviceInformation and Windows.Devices.Midi2.Enumeration.MidiEndpointNativeDataFormat.