タイトル: 自社のUSB機器が Windows11 21H2 では動作OKだが 23H3ではHIDが通らなくなった(音声は通る)。 内容: 【現在の調査状況】 USB機器のボタン操作をPCへ伝える、またはUSB機器をPCから制御するため、HIDのレポート送受信を利用して独自コマンド送受信を行っています。 Windows11 21H2 の時(2022年1月)には送受信OKでしたが、最近、23H2へ更新した同PCで再確認したところ 、レポート送受信が出来なくなっていました。 調査したところ、ユーザアプリ(自社開発)でコールしている HidD_SetOutputReport の戻り値が ERROR_INVALID_FUNCTION となっていました。 どうも第3引数 OutputReportByteLength が0となったためのようです。 送受信OKな別PCではコマンドのレングス(4など)となります。 (受信側については、USB機器から送信した様子はWireshark上で「INETERRUPT in」として見えますが、ACKは返ってくるもののユーザアプリまで情報が上がってこない) HIDP_CAPS構造体のOutputReportByteLength以外のメンバの値も送受信OKのPCとNGのPCで下記相違がありました。 (送受信OKのPCも Windows11 23H2です) <相違点> 「メンバ」「送受信OKのPC」「送受信NGのPC」の順に記載(全てHEX表示) InputReportByteLength 0x00000021 0x00000005 NumberInputButtonCaps 0x00000005 0x00000002 NumberInputDataIndices 0x00000013 0x00000002 NumberLinkCollectionNodes 0x00000005 0x00000001 NumberOutputButtonCaps 0x00000001 0x00000000 NumberOutputDataIndices 0x00000002 0x00000000 NumberOutputValueCaps 0x00000001 0x00000000 OutputReportByteLength 0x00000004 0x00000000 Usage 0x00000001 0x00000080 UsagePage 0x0000000b (null) 0x00000001 (null) デバイスマネージャではUSB機器として認識されており、PCから得た各Descriptorの情報を送受信OKのPCと送受信NGのPCで比較しましたが、差異はありませんでした。(Device Addressのみ違っていましたが、事象とは無関係と考えています) 【その他の情報】 ・送受信NGのPC Dell Vostro15 3510 ※21H2の時はOKだった ・送受信OKのPC Dell Latitude 3540 ※23H2であっても送受信OK   (なお送受信OKのPCは他にもあり、その1つは Dell Latitude 3500 Windows11 23H2(Win10からアップグレード)です。上記と同じ情報が得られます) ・HidD_SetOutputReportを始めとした、ユーザアプリで使用しているAPIは XPまたは2000以降で使用可能であることが確認できています。 【質問】 何故このようになってしまうか、原因は分かるでしょうか。 解決方法はあるでしょうか。 21H2→23H2へ更新した影響なのは明らかと考えます。しかし、別PCでは23H2でも送受信OKで問題ありません。そのため、ユーザアプリ側のAPI使用方法は誤っておらず、ドライバ更新による影響の可能性が高いと考えますが、これ以上は原因、調査方法とも分からず困っている状況です。 よろしくお願いいたします。