Profile drivers communicate with the Bluetooth driver stack through the standard I/O Request Packet (IRP)-based mechanism employed by all drivers based on the WDM architecture. The profile driver to be loaded is selected based on the INF file that installs the profile driver and the device identifier, as generated by the Bluetooth driver stack and described in Installing a Bluetooth Device. Next, the driver stack uses standard Plug and Play (PnP) mechanisms to load the appropriate profile driver for each device.
The driver stack then generates device identifiers (device IDs) for all paired devices.
After Windows loads and initializes the Bluetooth driver stack, the driver stack discovers active Bluetooth devices that have already been paired.