次の方法で共有


USB 機能クライアント ドライバーが使用する UFX オブジェクトとハンドル

USB 関数クラス拡張 (UFX) は、WDF オブジェクト機能を使用して、これらの USB 固有の UFX オブジェクトを定義します。

概要

  • UFX オブジェクトは、エンドポイントとの間の転送を処理するために、関数コントローラー ドライバーによって使用されます。
  • これらのオブジェクトは WDF オブジェクトへのハンドルであり、クライアント ドライバーの要求に応じて UFX によって作成されます。 各オブジェクトの有効期間は UFX によって管理されます。

重要な API

USB 関数クラス拡張 (UFX) は、WDF オブジェクト機能を使用して、これらの USB 固有の UFX オブジェクトを定義します。

これらのオブジェクトは WDF オブジェクトへのハンドルであり、関数クライアント ドライバーの要求時に UFX によって作成されます。 必要に応じて、クライアント ドライバーは、作成時に渡すことができるこれらのオブジェクトにコンテキストを関連付けることができます。 UFX によって作成されるすべての WDF オブジェクトには、2 つのデバイス コンテキスト (オブジェクト作成時に UFX によって設定された 1 つのデバイス コンテキスト) が含まれる可能性があります。クライアント ドライバーによって渡されるもう 1 つのデバイス コンテキスト。WDF オブジェクトの作成後に WdfObjectAllocateContext を 使用して UFX で設定されます。

UFXDEVICE: USB デバイス オブジェクト

コントローラーによって作成された USB デバイスを表します。 このオブジェクトは、USB プロトコルの仕様に従って USB 状態を管理し、USB デバイスに関連付けられている 1 つ以上のエンドポイントを管理する役割を担います。 関数コントローラー ドライバーは、UfxDeviceCreate メソッドを呼び出すことによって、EvtDriverDeviceAdd コールバック内にこのオブジェクトを作成します。

EVT_UFX_DEVICE_HOST_CONNECT
ホストとの接続を開始します。

EVT_UFX_DEVICE_HOST_DISCONNECT
関数コントローラーとホストとの通信を無効にします。

EVT_UFX_DEVICE_ADDRESSED
関数コントローラーのアドレスを割り当てます。

EVT_UFX_DEVICE_ENDPOINT_ADD
既定のエンドポイント オブジェクトを作成します。

EVT_UFX_DEVICE_DEFAULT_ENDPOINT_ADD
既定のエンドポイント オブジェクトを作成します。

EVT_UFX_DEVICE_USB_STATE_CHANGE
USB デバイスの状態を更新します。

EVT_UFX_DEVICE_PORT_CHANGE
USB デバイスが接続されている新しいポートの種類を更新します。

EVT_UFX_DEVICE_PORT_DETECT
ポート検出を開始します。

EVT_UFX_DEVICE_REMOTE_WAKEUP_SIGNAL
関数コントローラーでリモート ウェイクアップを開始します。

EVT_UFX_DEVICE_DETECT_PROPRIETARY_CHARGER
独自の充電器検出を開始します。

EVT_UFX_DEVICE_PROPRIETARY_CHARGER_RESET
独自の充電器をリセットします。

EVT_UFX_DEVICE_PROPRIETARY_CHARGER_SET_PROPERTY
USB 経由の充電を有効にするために使用する充電器情報を設定します。

UFXENDPOINT: USB エンドポイント オブジェクト

ホストとデバイスの間の論理接続を表します。 オブジェクトは、ホスト間でのデータの転送を担当します。 すべてのデバイス オブジェクトに対して、1 つ以上のエンドポイントを使用できます。 既定のエンドポイントは常にコントロール エンドポイントであり、残りはクラス ドライバー固有のオブジェクトです。 関数コントローラー ドライバーは、UfxEndpointCreate メソッドを呼び出して、EVT_UFX_DEVICE_ENDPOINT_ADD コールバックでオブジェクトを作成します。