This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Download Microsoft Edge
More info about Internet Explorer and Microsoft Edge
In this article
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
Windows.Devices.Enumeration
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
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
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
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}"
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.
Submit and view feedback for
This product