質問

私はのlibusbを使ってUSBデバイスに話をしようとしているが、私はレースの最初のレグにアップトリップてるような気がします。私は、などと話をする必要が正確にどのようなエンドポイントを知っているが、私もそこまで得ることができません。私は、本質的に、持っています:

usb_device *dev = ...; // opened from get_busses()
usb_set_configuration(dev, dev->config[0].bConfigurationValue); // bConfigVal = 1

さて、私はデバッグモードでデバイス情報を見ることができると私は、現在の設定は0(ちょうど再起動後/初期化されていない)であることを知って、そして1の構成番号を持って、正確に1有効な構成は、ありますしかし、ときに私1に設定を設定し、私は、「Windows APIのエラーに変換した(stringifierを通過した)、-22の戻り値を取得します:悪いパラメータ

私は同様の問題を有する他の人を見つけることができていない、そして何をする、そのような単純なことのように思える - 私もインターフェイスを主張する、またはALT-インタフェース、またはそのようなものを設定することはできません。 、私は、第1の構成を設定する必要があるため。私は何をしないのですか? (それが重要ならば:これはWinXPの上にある)

役に立ちましたか?

解決

のlibusb-win32ののの\ SRC \ドライバ\のset_configuration.cを見ると、STATUS_INVALID_PARAMETERを返すためのさまざまな理由の束をがあるように思えます。

詳細なデバッグレベルを設定する(ユーザーモードアプリケーションから)libusb_set_debugを使用し、その後、実行します<のhref = "http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx" のrel = "nofollowをnoreferrer 「>のSysinternalsのDebugViewは、ドライバのエラーメッセージを表示することを。うまくいけば、あなたはset_configurationの呼び出しが失敗した理由を手掛かりを参照してくださいね。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top