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