USBD_IsochUrbAllocate 함수(usbdlib.h)
USBD_IsochUrbAllocate 루틴은 등시 전송 요청에 대해 URB 구조를 할당하고 형식을 지정합니다.
참고
WDF(Windows 드라이버 프레임워크) 드라이버의 경우: 클라이언트 드라이버가 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 사용을 마쳤을 때 URB를 해제해야 합니다.
반환 값
요청이 성공하면 USBD_IsochUrbAllocate 루틴이 STATUS_SUCCESS 반환합니다. 그렇지 않으면 USBD_UrbAllocateUrb를 로 NULL
설정하고 NT 상태 실패 코드를 반환합니다.
가능한 값은 USBDHandle 또는 Urb에 전달된 NULL
호출자를 나타내는 STATUS_INVALID_PARAMETER 포함하지만 이에 국한되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 WDK가 필요합니다. Windows Vista 이상 버전의 Windows 운영 체제를 대상으로 합니다. |
대상 플랫폼 | 데스크톱 |
머리글 | usbdlib.h |
라이브러리 | Usbdex.lib |
IRQL | <=DISPATCH_LEVEL |