USBD_IsochUrbAllocate 함수(usbdlib.h)
USBD_IsochUrbAllocate 루틴은 등시 전송 요청에 대해 URB 구조를 할당하고 형식을 지정합니다.
참고
WDF(Windows Driver Framework) 드라이버의 경우: 클라이언트 드라이버가 WDF 기반인 경우 URB 구조에 대한 메모리를 할당하기 위해 USBD_IsochUrbAllocate 대신 WdfUsbTargetDeviceCreateIsochUrb 메서드를 호출해야 합니다.
구문
NTSTATUS USBD_IsochUrbAllocate(
[in] USBD_HANDLE USBDHandle,
[in] ULONG NumberOfIsochPackets,
[out] PURB *Urb
);
매개 변수
[in] USBDHandle
USBD_CreateHandle 루틴에 대한 이전 호출에서 클라이언트 드라이버가 검색한 USBD 핸들입니다.
[in] NumberOfIsochPackets
전송을 수행하는 데 필요한 최대 등시 패킷 수를 지정합니다. 전송 버퍼는 버퍼 내에서 패킷의 바이트 오프셋과 같은 각 패킷에 대한 정보를 저장하는 USBD_ISO_PACKET_DESCRIPTOR 구조체의 가변 길이 배열에 설명되어 있습니다. 배열은 등시 요청 URB의 형식을 정의하는 데 사용되는 _URB_ISOCH_TRANSFER 구조체의 IsoPacket 멤버에 지정됩니다.
[out] Urb
USBD_IsochUrbAllocate 할당된 URB를 수신하는 URB 구조체에 대한 포인터입니다. URB 구조체의 모든 멤버는 0으로 설정됩니다. 할당된 URB는 NumberOfIsochPacket 으로 표시된 최대 등시 패킷 수를 보유할 수 있을 만큼 큽니다.
드라이버가 USBD_UrbFree 호출하여 사용이 완료되면 클라이언트 드라이버에서 URB를 해제해야 합니다.
반환 값
요청이 성공하면 USBD_IsochUrbAllocate 루틴이 STATUS_SUCCESS 반환합니다. 그렇지 않으면 USBD_UrbAllocate Urb 를 NULL 설정하고 NT 상태 오류 코드를 반환합니다.
가능한 값은 USBDHandle 또는 Urb 에 전달된 NULL 호출자를 나타내는 STATUS_INVALID_PARAMETER 포함하지만 제한되지 않습니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows 8 WDK가 필요합니다. Windows 운영 체제의 Vista 이상 버전을 Windows 대상으로 합니다. |
| 대상 플랫폼 | 데스크톱 |
| 헤더 | usbdlib.h |
| 라이브러리 | Usbdex.lib |
| IRQL | <=DISPATCH_LEVEL |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기