WinUsb_RegisterIsochBuffer関数 (winusb.h)

WinUsb_RegisterIsochBuffer関数は、等時性転送に使用するバッファーを登録します。

構文

BOOL WinUsb_RegisterIsochBuffer(
  [in]  WINUSB_INTERFACE_HANDLE     InterfaceHandle,
  [in]  UCHAR                       PipeID,
  [in]  PUCHAR                      Buffer,
  [in]  ULONG                       BufferLength,
  [out] PWINUSB_ISOCH_BUFFER_HANDLE IsochBufferHandle
);

パラメーター

[in] InterfaceHandle

選択した構成のインターフェイスへの不透明なハンドル。 そのハンドルは、WinUsb_InitializeまたはWinUsb_GetAssociatedInterfaceへの以前の呼び出しによって作成される必要があります。

[in] PipeID

エンドポイント記述子の bEndpointAddress フィールドのビット 3...0 から派生します。

[in] Buffer

登録する転送バッファーへのポインター。

[in] BufferLength

Buffer が指す転送バッファーの長さ (バイト単位)。

[out] IsochBufferHandle

登録済みバッファーへの不透明なハンドルを受け取ります。 このハンドルは、等時性転送を実行する他の WinUSB 関数で必要です。 ハンドルを解放するには、 WinUsb_UnregisterIsochBuffer 関数を呼び出します。

戻り値

操作が 成功した場合、WinUsb_RegisterIsochBufferは TRUE を返します。 それ以外の場合、この関数は FALSE を返し、呼び出し元は GetLastError を呼び出すことによってログに記録されたエラーを取得できます。

呼び出し元が ContinueStream を TRUE に設定した場合、Winusb.sys が 1 つ以上のフレームを削除せずにストリームを続行するように転送をスケジュールできない場合、転送は失敗します。

注釈

バッファーとの間で等時性転送を開始する前に、呼び出し元はバッファーを WinUsb_RegisterIsochBufferに登録する必要があります。 この呼び出しにより、Winusb.sys は、バッファーを使用して後続のすべての転送の後にバッファーを事前にマップおよびロックできます。

要件

要件
サポートされている最小のクライアント Windows 8.1
サポートされている最小のサーバー Windows Server 2012 R2
対象プラットフォーム ユニバーサル
Header winusb.h (Winusb.h を含む)
Library Winusb.lib
[DLL] Winusb.dll

こちらもご覧ください

WinUSB デスクトップ アプリから USB 等時性転送を送信する

WinUSB 関数

WinUsb_UnregisterIsochBuffer