UsbBuildInterruptOrBulkTransferRequest マクロ (usbdlib.h)
UsbBuildInterruptOrBulkTransferRequest マクロは、一括パイプでデータを送受信したり、割り込みパイプからデータを受信したりするように URB の書式を設定します。
構文
void UsbBuildInterruptOrBulkTransferRequest(
[in, out] urb,
[in] length,
[in] pipeHandle,
[in, optional] transferBuffer,
[in, optional] transferBufferMDL,
[in] transferBufferLength,
[in] transferFlags,
[in] link
);
パラメーター
[in, out] urb
割り込みまたは一括転送要求として書式設定される URB へのポインター。
[in] length
URB のサイズをバイト単位で指定します。
[in] pipeHandle
構成が選択されたときに HCD によって返されるこのパイプのハンドルを指定します。
[in, optional] transferBuffer
転送の常駐バッファーへのポインター。MDL が TransferBufferMDL で指定されている場合は NULL です。 このバッファーの内容は、 TransferFlags の値によって異なります。 USBD_TRANSFER_DIRECTION_INが指定されている場合、このバッファーには HCD から返されるときにデバイスから読み取られたデータが含まれます。 それ以外の場合、このバッファーには、デバイスに転送されるドライバー指定のデータが含まれます。
[in, optional] transferBufferMDL
常駐バッファーを記述する MDL へのポインター。バッファーが TransferBuffer で指定されている場合は NULL です。 バッファーの内容は、 TransferFlags の値によって異なります。 USBD_TRANSFER_DIRECTION_INが指定されている場合、記述されたバッファーには、HCD からの戻り時にデバイスから読み取られたデータが含まれます。 それ以外の場合、バッファーには、デバイスに転送されるドライバー指定のデータが含まれます。 MDL は、非ページ プールから割り当てる必要があります。
[in] transferBufferLength
TransferBuffer で指定されたバッファーまたは TransferBufferMDL で説明されているバッファーの長さをバイト単位で指定します。
[in] transferFlags
0、1、または次のフラグの組み合わせを指定します。
USBD_TRANSFER_DIRECTION_IN
デバイスからデータを要求するように設定されます。 デバイスにデータを転送するには、このフラグをクリアする必要があります。
USBD_SHORT_TRANSFER_OK
USBD_TRANSFER_DIRECTION_INが設定されている場合に使用できます。 が設定されている場合、エンドポイントの最大パケット サイズより短いパケットがデバイスから受信された場合に、HCD にエラーが返されないように指示します。 それ以外の場合、短い要求はエラー条件を返します。
[in] link
予約済み。 NULL に設定する必要があります。
戻り値
なし
必要条件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | usbdlib.h (Usbdlib.h を含む) |