HFP device removal
This article discusses what how the audio driver should respond when a Bluetooth hands-free profile (HFP) device is removed from (leaves) the audio system.
To remove the registered device interface for a paired HFP device, follow these steps:
- Cancel any pending IOCTL_BTHHFP_SPEAKER_GET_VOLUME_STATUS_UPDATE IOCTLs.
- Cancel any pending IOCTL_BTHHFP_STREAM_GET_STATUS_UPDATE IOCTLs.
- Cancel any pending IOCTL_BTHHFP_DEVICE_GET_CONNECTION_STATUS_UPDATE IOCTLs.
- De-reference the HFP FileObject (which also de-references the DeviceObject).
- Select KsDeleteFilterFactory to remove the filter factory representing the HFP device associated with the removed interface.