- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA215067 into Japanese.
Please confirm to my work.
Thanks,
Kenshow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Kenshow-san
Confirm to work this KBA.
Thanks,
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
XferData Fails when Large Amount of Data is Requested - KBA215067
Thanks.
==============================
タイトル: 大量のデータが要求されるとXferDataが失敗する - KBA215067
バージョン:*A
質問:
XferData(またはBeginDataXfer)呼び出しを使用すると、大量のデータが要求され、転送が失敗する可能性があります。なぜこれが発生し、どうすれば修正できますでしょうか?
回答:
XferDataは、指定された量のデータを直接要求するか、ホストコントローラードライバーに送信します。ホストドライバーは、転送タイプ(Bulk、Isoc、Interrupt、またはControl)とOSバージョンに応じて、特定の最大サイズのみをキューに入れることができます。最大転送サイズの詳細については、 https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-bandwidth-allocationにあるMSDNの記事をご参照願います。
この問題を解決するには、大きなリクエストを小さなサイズの複数のリクエストに分割します(サイズは、指定されたOSで許可されている最大転送サイズと同じです)。
また、packetMode(ブール値)と呼ばれるXferDataの3番目のパラメータを使用して、wMaxPacketSizeの倍数で要求をキューに入れることもできます。
したがって、たとえば、C#のバルクエンドポイントの場合、これは次のようになります。
bool isPacketMode = true;
bool transferResult = BulkEndpoint.XferData(ref xferBuffer、ref xferLength、isPacketMode);
==============================
9-July-2020