Share via

Is it possible to support WriteWithResponse fields for HID Over GATT devices?

Victor Hu 0 Reputation points
2026-05-23T08:22:39.71+00:00

I am trying to get a ble game controller to work on windows 11 build 26200, and the game controller exposes its rumble field as WriteWithResponse, the native windows hidovergatt.dll sees this and invalidates the field because it only allows writable fields that are set to WriteWithoutResponse, and patching the hidovergatt.dll in memory to allow writable field if its just write (which includes WriteWithResponse) allows the controller rumble to work. Is this something that can be fixed/added to upstream hidovergatt.dll?

Windows for home | Windows 11 | Devices and drivers
0 comments No comments

2 answers

Sort by: Most helpful
  1. Sin-D 10,315 Reputation points Microsoft External Staff Moderator
    2026-05-25T03:13:56.5233333+00:00

    Hi Victor Hu,

    I understand you're exploring the HID over GATT behavior in Windows, and it’s great that you were able to validate your hypothesis by patching hidovergatt.dll in memory.

    In addition to Q&A Assist, please submit feedback to Microsoft via the Feedback Hub, including:

    • Windows build (e.g., 26200)
    • BLE device details
    • GATT characteristic definition (showing WriteWithResponse)
    • Reproduction steps, along with expected vs. actual behavior

    You can open the Feedback Hub by pressing Windows + F. For more details, see: Send feedback to Microsoft with the Feedback Hub app.

    If you control the device firmware, exposing the writable characteristic as WriteWithoutResponse is currently the most compatible approach with Windows’ HID over GATT expectations.

    As you noted, modifying hidovergatt.dll in memory can make this work; however, this approach is unsupported and may lead to instability or break with future updates.  

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-05-23T08:22:49.5033333+00:00

    Windows currently distinguishes between GATT write operations using the GattWriteOption enum, which only supports WriteWithResponse and WriteWithoutResponse as defined values. HID over GATT behavior in Windows is implemented in the system component (hidovergatt.dll) and, as observed, it presently accepts only writable characteristics that use WriteWithoutResponse for certain HID usages such as rumble.

    Changing this behavior (for example, to also accept WriteWithResponse for those HID-over-GATT writable fields) requires a change to the Windows HID over GATT stack itself. That can only be done by the Windows product team; it is not something that can be configured or extended from application code or drivers, and patching hidovergatt.dll in memory is unsupported.

    To request support for WriteWithResponse on HID over GATT writable fields in the inbox stack, the appropriate path is to file feedback through the Windows Feedback Hub with full reproduction details (device, firmware, GATT table, and build number), so it can be considered for future builds.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.