Skip to content

[FwUpdateCfu] Fix failing HidD_SetOutputReport during FW update #66

Open
forderud wants to merge 2 commits into
microsoft:masterfrom
forderud:SetOutputReport-fix
Open

[FwUpdateCfu] Fix failing HidD_SetOutputReport during FW update #66
forderud wants to merge 2 commits into
microsoft:masterfrom
forderud:SetOutputReport-fix

Conversation

@forderud
Copy link
Copy Markdown

@forderud forderud commented Oct 3, 2024

Changes:

  • Request GENERIC_WRITE access for deviceWrite.
  • Change HidCommands::SetOutputReport to internally use WriteFile instead of HidD_SetOutputReport

Done to fix problem of HidD_SetOutputReport calls failing with "The request is not supported" (0x32) errors.

According to Sending HID reports then some HID devices doesn't support HidD_SetOutputReport. Clients then instead need to write output reports through WriteFile. CfuVirtualHid seems to be a such device.

"deviceWrite" is only used for HidCommands::SetOutputReport calls that internally call HidD_SetOutputReport. This Win32 function require GENERIC_WRITE access, so the device permissions need to be updated accordingly.
…riteFile instead of HidD_SetOutputReport

Done to fix problem of HidD_SetOutputReport calls failing with "The request is not supported" (0x32) errors.

According to https://learn.microsoft.com/en-us/windows-hardware/drivers/hid/sending-hid-reports then some HID devices doesn't support HidD_SetOutputReport. Clients will then instead need to write output reports through WriteFile. CfuVirtualHid seems to be a such device.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant