AEP service class IDs
Association Endpoint (AEP) services provide a programming contract for services that a device supports over a given protocol. Several of these services have established identifiers that should be used when referencing them. These contracts are identified with the System.Devices.AepService.ServiceClassId property. This topic lists several well-known AEP service class IDs. The AEP service class ID is also applicable to protocols with custom class IDs.
An app developer should use Advanced Query Syntax (AQS) filters based on the class IDs to limit their queries to the AEP services they plan to use. This will both limit the query results to the relevant services and will significantly increase the performance, battery life, and quality of service for the device. For example, an application can use these service class IDs to use a device as a Miracast sync or DLNA digital media renderer (DMR). For more information about how devices and services interact with each other, see DeviceInformationKind.
Important APIs
Bluetooth and Bluetooth LE services
Bluetooth services fall under one of two protocols, either the Bluetooth protocol or the Bluetooth LE protocol. The identifiers for these protocols are:
- Bluetooth protocol ID: {e0cbf06c-cd8b-4647-bb8a-263b43f0f974}
- Bluetooth LE protocol ID: {bb7bb05e-5972-42b5-94fc-76eaa7084d49}
The Bluetooth protocol supports several services, all following the same basic format. The first group of digits in the GUID vary based upon the service, but all Bluetooth GUIDs end with -0000-1000-8000-00805F9B34FB. For example, the RFCOMM service has the precursor of 0x0003, so the full ID would be 00000003-0000-1000-8000-00805F9B34FB. The following table lists some common Bluetooth services.
Service name | GUID |
---|---|
RFCOMM | 00000003-0000-1000-8000-00805F9B34FB |
GATT - Alert notification service | 00001811-0000-1000-8000-00805F9B34FB |
GATT - Automation IO | 00001815-0000-1000-8000-00805F9B34FB |
GATT - Battery service | 0000180F-0000-1000-8000-00805F9B34FB |
GATT - Blood pressure | 00001810-0000-1000-8000-00805F9B34FB |
GATT - Body composition | 181B0000-0000-1000-8000-00805F9B34FB |
GATT - Bond management | 0000181E-0000-1000-8000-00805F9B34FB |
GATT - Continuous glucose monitoring | 0000181F-0000-1000-8000-00805F9B34FB |
GATT - Current time service | 00001805-0000-1000-8000-00805F9B34FB |
GATT - Cycling power | 00001818-0000-1000-8000-00805F9B34FB |
GATT - Cycling speed and cadence | 00001816-0000-1000-8000-00805F9B34FB |
GATT - Device information | 0000180A-0000-1000-8000-00805F9B34FB |
GATT - Environmental sensing | 0000181A-0000-1000-8000-00805F9B34FB |
GATT - Generic access | 00001800-0000-1000-8000-00805F9B34FB |
GATT - Generic attribute | 00001801-0000-1000-8000-00805F9B34FB |
GATT - Glucose | 00001808-0000-1000-8000-00805F9B34FB |
GATT - Health thermometer | 00001809-0000-1000-8000-00805F9B34FB |
GATT - Heart rate | 0000180D-0000-1000-8000-00805F9B34FB |
GATT - Human interface device | 00001812-0000-1000-8000-00805F9B34FB |
GATT - Immediate alert | 00001802-0000-1000-8000-00805F9B34FB |
GATT - Indoor positioning | 00001821-0000-1000-8000-00805F9B34FB |
GATT - Internet protocol support | 00001820-0000-1000-8000-00805F9B34FB |
GATT - Link loss | 00001803-0000-1000-8000-00805F9B34FB |
GATT - Location and navigation | 00001819-0000-1000-8000-00805F9B34FB |
GATT - Next DST change service | 00001807-0000-1000-8000-00805F9B34FB |
GATT - Phone alert status service | 0000180E-0000-1000-8000-00805F9B34FB |
GATT - Pulse oximeter | 00001822-0000-1000-8000-00805F9B34FB |
GATT - Reference time update service | 00001806-0000-1000-8000-00805F9B34FB |
GATT - Running speed and cadence | 00001814-0000-1000-8000-00805F9B34FB |
GATT - Scan parameters | 00001813-0000-1000-8000-00805F9B34FB |
GATT - Tx power | 00001804-0000-1000-8000-00805F9B34FB |
GATT - User data | 0000181C-0000-1000-8000-00805F9B34FB |
GATT - Weight scale | 0000181D-0000-1000-8000-00805F9B34FB |
For a more complete listing of available Bluetooth services, see the GATT Services specification. You can also use the GattServiceUuids API to get some common GATT services.
Custom Bluetooth LE services
Custom Bluetooth LE services use the following protocol identifier: {bb7bb05e-5972-42b5-94fc-76eaa7084d49}
Custom profiles are defined with their own defined GUIDs. This custom GUID should be used for System.Devices.AepService.ServiceClassId.
UPnP services
UPnP services use the following protocol identifier: {0e261de4-12f0-46e6-91ba-428607ccef64}
In general, all UPnP services have their name hashed into a GUID using the algorithm defined in RFC 4122. The following table lists some common UPnP services defined in Windows.
Service name | GUID |
---|---|
Connection manager | ba36014c-b51f-51cc-bf71-1ad779ced3c6 |
AV transport | deeacb78-707a-52df-b1c6-6f945e7e25bf |
Rendering control | cc7fe721-a3c7-5a14-8c49-4419dc895513 |
Layer 3 forwarding | 97d477fa-f403-577b-a714-b29a9007797f |
WAN common interface configuration | e4c1c624-c3c4-5104-b72e-ac425d9d157c |
WAP IP connection | e4ac1c23-b5ac-5c27-8814-6bd837d8832c |
WFA WLAN configuration | 23d5f7db-747f-5099-8f21-3ddfd0c3c688 |
Printer enhanced | fb9074da-3d9f-5384-922e-9978ae51ef0c |
Printer basic | 5d2a7252-d45c-5158-87a4-05212da327e1 |
Media receiver registrar | 0b4a2add-d725-5198-b2ba-852b8bf8d183 |
Content directory | 89e701dd-0597-5279-a31c-235991d0db1c |
DIAL | 085dfa4a-3948-53c7-a0d7-16d8ec26b29b |
WSD services
WSD services use the following protocol identifier: {782232aa-a2f9-4993-971b-aedc551346b0}
In general, all WSD services have their name hashed into a GUID using the algorithm defined in RFC 4122. The following table lists some common WSD services defined in Windows.
Service name | GUID |
---|---|
Printer | 65dca7bd-2611-583e-9a12-ad90f47749cf |
Scanner | 56ec8b9e-0237-5cae-aa3f-d322dd2e6c1e |
AQS sample
This AQS will filter for all UPnP AssociationEndpointService objects that support DIAL. In this case, DeviceInformationKind is set to AsssociationEndpointService.
System.Devices.AepService.ProtocolId:="{0e261de4-12f0-46e6-91ba-428607ccef64}" AND
System.Devices.AepService.ServiceClassId:="{085DFA4A-3948-53C7-A0D7-16D8EC26B29B}"