none
WinUSB Readが意図した動作をしない RRS feed

  • 質問

  • Windows7 VC++2008 MFCでWinUSBを使用したアプリを作成しています。

    PCからバルクOUT転送で、データサイズをデバイスに送り、

    デバイスはバルクIN転送で、指定されたデータサイズをPCに送ります。

    read_pipe関数で読み込み予定サイズを380,000バイトにすると、

    379,968バイトでWinUSB側の通信が終わってしまい、残り32バイトが正常におくれません。

    データサイズが小さい場合(たとえば38,000バイト)だと、指定されたサイズのデータ転送をおこなえます。

    read_pipeのデータ転送サイズに上限など、制約があるのでしょうか。

    2013年3月4日 5:28

すべての返信

  • その後の経過状況です。

    いろいろと確認してみましたが、サイズが大きくなると読み取り動作がおかしくなってしまうようです。(バグ?)

    読み込み予定サイズを380,032バイトにすると正常に読み取りできるので、転送サイズをパケットサイズ(今回は64バイト設定)の整数倍にしたほうが無難かもしれないです。

    2013年3月5日 23:56