다음을 통해 공유


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

추가 정보

WinUSB 데스크톱 앱에서 USB 등시 전송 보내기

WinUSB 함수