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