WinUsb_ReadIsochPipeAsap 함수(winusb.h)
WinUsb_ReadIsochPipeAsap 함수는 등시 IN 엔드포인트에서 데이터를 읽는 요청을 제출합니다.
구문
BOOL WinUsb_ReadIsochPipeAsap(
[in] WINUSB_ISOCH_BUFFER_HANDLE BufferHandle,
[in] ULONG Offset,
[in] ULONG Length,
[in] BOOL ContinueStream,
[in] ULONG NumberOfPackets,
PUSBD_ISO_PACKET_DESCRIPTOR IsoPacketDescriptors,
[in, optional] LPOVERLAPPED Overlapped
);
매개 변수
[in] BufferHandle
WinUsb_RegisterIsochBuffer 대한 이전 호출에 의해 등록된 전송 버퍼에 대한 불투명 핸들입니다.
[in] Offset
전송 시작을 기준으로 버퍼로 오프셋됩니다.
[in] Length
전송 버퍼의 길이(바이트)입니다.
[in] ContinueStream
마지막 보류 중인 전송 후 첫 번째 프레임에서 예약할 수 있는 경우에만 전송을 제출해야 했음을 나타냅니다.
[in] NumberOfPackets
전송 버퍼를 보유하는 데 필요한 총 등시 패킷 수입니다. 또한 IsoPacketDescriptors가 가리키는 배열의 요소 수를 나타냅니다.
IsoPacketDescriptors
전송 시 각 등시 패킷의 세부 정보를 수신하는 USBD_ISO_PACKET_DESCRIPTOR 배열입니다.
[in, optional] Overlapped
비동기 작업에 사용되는 OVERLAPPED 구조체에 대한 포인터입니다.
반환 값
WinUsb_ReadIsochPipeAsap 작업이 성공하면 TRUE를 반환합니다. 그렇지 않으면 이 함수는 FALSE를 반환하고 호출자는 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다.
호출자가 ContinueStream 을 TRUE로 설정하면 Winusb.sys 하나 이상의 프레임을 삭제하지 않고 스트림을 계속하도록 전송을 예약할 수 없는 경우 전송이 실패합니다.
설명
WinUsb_ReadIsochPipeAsap USB 드라이버 스택에서 전송을 위한 시작 프레임 번호를 선택할 수 있습니다. 하나 이상의 전송이 엔드포인트에서 이미 보류 중인 경우 전송은 현재 보류 중인 마지막 전송의 마지막 프레임 번호 바로 다음에 프레임 번호로 예약됩니다.
WinUsb_ReadIsochPipeAsap 각 간격에서 호스트가 간격당 허용되는 최대 바이트를 받을 수 있도록 전송 버퍼를 패킷화합니다. 최대 바이트는 전체 및 고속 엔드포인트에 대한 엔드포인트 설명자 및 SuperSpeed 엔드포인트에 대한 엔드포인트 도우미 설명자로 지정됩니다. 호출자가 디바이스에서 데이터를 스트리밍하기 위해 여러 읽기 요청을 제출하는 경우 전송 크기는 간격당 최대 바이트 수( WinUsb_QueryPipeEx 반환됨) * 8/interval이어야 합니다.
기본 커널 모드 인터페이스에서 사용되는 전송 패키징으로 인해 애플리케이션 또는 드라이버에 대한 가장 낮은 대기 시간 알림은 1ms 간격입니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8.1 |
지원되는 최소 서버 | Windows Server 2012 R2 |
대상 플랫폼 | 유니버설 |
헤더 | winusb.h(Winusb.h 포함) |
라이브러리 | Winusb.lib |
DLL | Winusb.dll |