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로 설정해야 합니다.
반환 값
없음
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | usbdlib.h(Usbdlib.h 포함) |