USB ドライバー リファレンス

USB ドライバー参照テクノロジの概要。

USB ドライバー参照を開発するには、次のヘッダーが必要です。

このテクノロジのプログラミング ガイダンスについては、次を参照してください。

IOCTL

 
IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS

この I/O 制御コード (IOCTL) は、ユニバーサル シリアル バス (USB) をアクティブ化するように GenericUSBFn.sys に通知するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。 アクティブ化されると、バスはバス イベントを処理し、トラフィックを処理する準備が整います。
IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION

この I/O 制御コード (IOCTL) は、ユニバーサル シリアル バス (USB) イベントに登録するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN

この I/O 制御コード (IOCTL) は、ユーザー モード のサービスまたはアプリケーションによって送信され、エンドポイント 0 の長さ 0 の制御状態ハンドシェイクを IN 方向に要求します。
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT

この I/O 制御コード (IOCTL) は、ユーザー モードのサービスまたはアプリケーションによって送信され、OUT 方向のエンドポイント 0 で長さ 0 の制御状態ハンドシェイクを完了します。
IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS

この IOCTL コードは nevtot でサポートされています。
IOCTL_GENERICUSBFN_GET_CLASS_INFO

この I/O 制御コード (IOCTL) は、レジストリで構成されているデバイスの使用可能なパイプに関する情報を取得するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。
IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX

この I/O 制御コード (IOCTL) は、レジストリで構成されているデバイスの使用可能なパイプに関する情報を取得するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。
IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET

この I/O 制御コード (IOCTL) は、デバイス上の関数のインターフェイス記述子セット全体を取得するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。この IOCTL 要求では、デバイス全体のインターフェイス記述子セットは取得されません。デバイス上の関数に対して設定されたユニバーサル シリアル バス (USB) インターフェイス記述子。
IOCTL_GENERICUSBFN_GET_PIPE_STATE

この I/O 制御コード (IOCTL) は、指定されたユニバーサル シリアル バス (USB) パイプの状態を取得するために、ユーザー モードのサービスまたはアプリケーションによって送信されます。
IOCTL_GENERICUSBFN_REGISTER_USB_STRING

この I/O 制御コード (IOCTL) は、ユーザー モード のサービスまたはアプリケーションによって送信され、文字列記述子を登録します。ユニバーサル シリアル バス (USB) 文字列記述子。
IOCTL_GENERICUSBFN_SET_PIPE_STATE

この I/O 制御コード (IOCTL) は、指定されたユニバーサル シリアル バス (USB) パイプの状態を設定するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。
IOCTL_GENERICUSBFN_TRANSFER_IN

この I/O 制御コード (IOCTL) は、入力バッファー内の指定されたパイプ ID に対応する IN 方向転送をエンドポイントで発行するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。 (IOCTL_GENERICUSBFN_TRANSFER_IN)
IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT

この I/O 制御コード (IOCTL) は、入力バッファー内の指定されたパイプ ID に対応する IN 方向転送をエンドポイントで発行するために、ユーザー モード のサービスまたはアプリケーションによって送信されます。 (IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT)
IOCTL_GENERICUSBFN_TRANSFER_OUT

この I/O 制御コード (IOCTL) は、入力バッファー内の指定されたパイプ ID に対応する OUT 方向転送をエンドポイントで発行するために、ユーザー モードのサービスまたはアプリケーションによって送信されます。
IOCTL_GET_HCD_DRIVERKEY_NAME

IOCTL_GET_HCD_DRIVERKEY_NAME I/O 制御要求は、USB ホスト コントローラー ドライバーのレジストリ内のドライバー キー名を取得します。
IOCTL_USB_DIAGNOSTIC_MODE_OFF

IOCTL_USB_DIAGNOSTIC_MODE_OFF I/O コントロールは非推奨となりました。 使用しないでください。
IOCTL_USB_DIAGNOSTIC_MODE_ON

IOCTL_USB_DIAGNOSTIC_MODE_ON I/O コントロールは非推奨になりました。 使用しないでください。
IOCTL_USB_GET_ROOT_HUB_NAME

IOCTL_USB_GET_ROOT_HUB_NAME I/O 制御要求は、ルート ハブのシンボリック リンク名を取得するために、USB_ROOT_HUB_NAME構造体と共に使用されます。IOCTL_USB_GET_ROOT_HUB_NAMEは、ユーザー モードの I/O 制御要求です。
IOCTL_USB_USER_REQUEST

IOCTL_USB_USER_REQUEST I/O 制御要求は、ユーザー モード アプリケーションとカーネル モード ドライバーの両方で使用できます。

列挙

 
USB_USER_ERROR_CODE

USB_USER_ERROR_CODE列挙には、USB ユーザー モード要求が失敗したときに報告するエラー コードが一覧表示されます。
WDMUSB_POWER_STATE

WDMUSB_POWER_STATE列挙は、ホスト コントローラーまたはルート ハブの電源状態を示します。

関数

 
WinUsb_AbortPipe

WinUsb_AbortPipe関数は、パイプの保留中のすべての転送を中止します。 これは同期操作です。
WinUsb_ControlTransfer

WinUsb_ControlTransfer関数は、既定のコントロール エンドポイント経由で制御データを送信します。
WinUsb_FlushPipe

WinUsb_FlushPipe関数は、パイプにキャッシュされたすべてのデータを破棄します。 これは同期操作です。
WinUsb_Free

WinUsb_Free関数は、割り当てられたすべてのリソースWinUsb_Initialize解放します。 これは同期操作です。
WinUsb_GetAdjustedFrameNumber

WinUsb_GetAdjustedFrameNumber関数は、フレーム番号の値とタイムスタンプに基づいて、現在の USB フレーム番号を計算します。
WinUsb_GetAssociatedInterface

WinUsb_GetAssociatedInterface関数は、関連付けられたインターフェイスのハンドルを取得します。 これは同期操作です。
WinUsb_GetCurrentAlternateSetting

WinUsb_GetCurrentAlternateSetting関数は、インターフェイスの現在の代替インターフェイス設定を取得します。 これは同期操作です。
WinUsb_GetCurrentFrameNumber

WinUsb_GetCurrentFrameNumber関数は、バスの現在のフレーム番号を取得します。
WinUsb_GetCurrentFrameNumberAndQpc

WinUsb_GetCurrentFrameNumberAndQpc関数は、フレームおよびマイクロフレームと同期されたシステム クエリ パフォーマンス カウンター (QPC) 値を取得します。
WinUsb_GetDescriptor

WinUsb_GetDescriptor関数は、要求された記述子を返します。 これは同期操作です。
WinUsb_GetOverlappedResult

WinUsb_GetOverlappedResult関数は、指定したファイルに対して重複した操作の結果を取得します。
WinUsb_GetPipePolicy

WinUsb_GetPipePolicy関数は、デバイス上のエンドポイントに関連付けられている特定のパイプのポリシーを取得します。 これは同期操作です。
WinUsb_GetPowerPolicy

WinUsb_GetPowerPolicy関数は、デバイスの電源ポリシーを取得します。 これは同期操作です。
WinUsb_Initialize

WinUsb_Initialize関数は、ファイル ハンドルで指定されたデバイスの WinUSB ハンドルを作成します。
WinUsb_QueryDeviceInformation

WinUsb_QueryDeviceInformation関数は、WinUSB インターフェイス ハンドルに関連付けられている物理デバイスに関する情報を取得します。
WinUsb_QueryInterfaceSettings

WinUsb_QueryInterfaceSettings関数は、特定のインターフェイス ハンドルに対して指定された代替インターフェイス設定のインターフェイス記述子を取得します。
WinUsb_QueryPipe

WinUsb_QueryPipe関数は、指定されたエンドポイントと、インターフェイスの関連付けられたパイプに関する情報を取得します。
WinUsb_QueryPipeEx

WinUsb_QueryPipeEx関数は、指定したエンドポイントと、インターフェイスの関連付けられたパイプに関する拡張情報を取得します。
WinUsb_ReadIsochPipe

WinUsb_ReadIsochPipe関数は、等時性 OUT エンドポイントからデータを読み取ります。
WinUsb_ReadIsochPipeAsap

WinUsb_ReadIsochPipeAsap関数は、等時性 OUT エンドポイントからデータを読み取る要求を送信します。
WinUsb_ReadPipe

WinUsb_ReadPipe関数は、指定したパイプからデータを読み取ります。
WinUsb_RegisterIsochBuffer

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

WinUsb_ResetPipe関数は、データトグルをリセットし、パイプの停止状態をクリアします。
WinUsb_SetCurrentAlternateSetting

WinUsb_SetCurrentAlternateSetting関数は、インターフェイスの代替設定を設定します。
WinUsb_SetPipePolicy

WinUsb_SetPipePolicy関数は、デバイス上のエンドポイントに関連付けられている特定のパイプのポリシーを設定します。 これは同期操作です。
WinUsb_SetPowerPolicy

WinUsb_SetPowerPolicy関数は、デバイスの電源ポリシーを設定します。
WinUsb_StartTrackingForTimeSync

WinUsb_StartTrackingForTimeSync関数は、USB バス フレームとマイクロフレームに関連付けられているシステム QPC 時刻を取得する USB ドライバー スタックで時刻同期機能を開始します。
WinUsb_StopTrackingForTimeSync

WinUsb_StopTrackingForTimeSync関数は、USB バス フレームとマイクロフレームに関連付けられているシステム QPC 時間を取得する USB ドライバー スタックの時刻同期機能の上位に表示されます。
WinUsb_UnregisterIsochBuffer

WinUsb_UnregisterIsochBuffer関数は、等時性転送WinUsb_RegisterIsochBuffer割り当てられたすべてのリソースを解放します。 これは同期操作です。
WinUsb_WriteIsochPipe

WinUsb_WriteIsochPipe関数は、呼び出し元が指定したバッファーの内容を、指定したフレーム番号から始まる等時性 OUT エンドポイントに書き込みます。
WinUsb_WriteIsochPipeAsap

WinUsb_WriteIsochPipeAsapは、等時性 OUT エンドポイントにバッファーの内容を書き込むための要求を送信します。
WinUsb_WritePipe

WinUsb_WritePipe関数は、パイプにデータを書き込みます。

構造

 
USB_BANDWIDTH_INFO

USB_BANDWIDTH_INFO構造体は、割り当てられた帯域幅に関する情報を取得するために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
USB_BUS_STATISTICS_0

USB_BUS_STATISTICS_0構造体は、バス統計を取得するために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
USB_CLOSE_RAW_DEVICE_PARAMETERS

この構造体はサポートされていません。 USB_CLOSE_RAW_DEVICE_PARAMETERS構造体は、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用され、バス上のデバイスへの未加工のアクセスを閉じます。
USB_CONTROLLER_INFO_0

USB_CONTROLLER_INFO_0構造体は、USB ホスト コントローラーに関する情報を取得するために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
USB_DRIVER_VERSION_PARAMETERS

USB_DRIVER_VERSION_PARAMETERS構造体は、バージョン情報を取得するために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
USB_PASS_THRU_PARAMETERS

USB_PASS_THRU_PARAMETERS構造体は、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用され、ベンダー固有のコマンドをホスト コントローラー ミニポート ドライバーに渡します。
USB_POWER_INFO

USB_POWER_INFO構造体は、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用され、指定されたシステム電源状態に対してホスト コントローラーの電源ポリシーによって指定されたデバイスの電源状態を取得します。
USB_UNICODE_NAME

USB_UNICODE_NAME構造体には、シンボリック リンク名を指定する Unicode 文字列が含まれています。
USBUSER_BANDWIDTH_INFO_REQUEST

USBUSER_BANDWIDTH_INFO_REQUEST構造体は、割り当てられた帯域幅に関する情報を取得するために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
USBUSER_BUS_STATISTICS_0_REQUEST

USBUSER_BUS_STATISTICS_0_REQUEST構造体は、バス統計を取得するために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
USBUSER_CONTROLLER_UNICODE_NAME

USBUSER_CONTROLLER_UNICODE_NAME構造体は、USB ホスト コントローラードライバーキー名を取得するために、IOCTL_USB_USER_REQUEST I/O 制御要求と組み合わせて使用されます。
USBUSER_GET_DRIVER_VERSION

USBUSER_GET_DRIVER_VERSION構造体は、ドライバーとインターフェイスのバージョン情報を読み取るために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
USBUSER_PASS_THRU_REQUEST

USBUSER_PASS_THRU_REQUEST構造体は、IOCTL_USB_USER_REQUEST I/O 制御要求と組み合わせて使用され、ベンダー固有のコマンドをホスト コントローラー ミニポート ドライバーに送信します。
USBUSER_POWER_INFO_REQUEST

USBUSER_POWER_INFO_REQUEST構造体は、IOCTL_USB_USER_REQUEST I/O 制御要求と組み合わせて使用され、特定のシステム状態とホスト コントローラーとルート ハブの電源状態の関係に関する電源ポリシー情報を取得します。
USBUSER_REQUEST_HEADER

USBUSER_REQUEST_HEADER構造体は、ユーザー モード要求を USB ホスト コントローラー ドライバーに送信するために、IOCTL_USB_USER_REQUEST I/O 制御要求と共に使用されます。
WINUSB_PIPE_INFORMATION

WINUSB_PIPE_INFORMATION構造体には、WinUsb_QueryPipe ルーチンが取得するパイプ情報が含まれています。
WINUSB_PIPE_INFORMATION_EX

WINUSB_PIPE_INFORMATION_EX構造体には、WinUsb_QueryPipeEx ルーチンが取得するパイプ情報が含まれています。
WINUSB_SETUP_PACKET

WINUSB_SETUP_PACKET構造では、USB セットアップ パケットについて説明します。