次の方法で共有


EVT_UCX_USBDEVICE_ENABLE コールバック関数 (ucxusbdevice.h)

UCX がデバイスとその既定の制御エンドポイントに関するプログラム情報をコントローラーに呼び出すクライアント ドライバーの実装。

構文

EVT_UCX_USBDEVICE_ENABLE EvtUcxUsbdeviceEnable;

void EvtUcxUsbdeviceEnable(
  [in] UCXCONTROLLER UcxController,
  [in] WDFREQUEST Request
)
{...}

パラメーター

[in] UcxController

UcxControllerCreate メソッドの以前の呼び出しでクライアント ドライバーが受信した UCX コントローラーへのハンドル。

[in] Request

USBDEVICE_ENABLE型の構造体。

戻り値

なし

解説

UCX クライアント ドライバーは、 UcxUsbDeviceCreate メソッドを呼び出すことによって、USB ホスト コントローラー拡張機能 (UCX) にこのコールバック関数を登録します。

デバイスを目的の状態に移行するには、ホスト コントローラー ドライバーがハードウェアと通信して要求を完了します。

このコールバック関数では、クライアント ドライバーは、USB デバイスの既定の制御エンドポイントで転送を受け入れてスケジュールするようにコントローラーを準備します。

ドライバーが完了すると、WDFREQUEST が完了します。

クライアント ドライバーは 、要求で完了状態を返します。 ドライバーは、WDFREQUEST を非同期的に完了できます。

VOID
UsbDevice_EvtUcxUsbDeviceEnable(
    UCXCONTROLLER      UcxController,
    WDFREQUEST         Request
)
    
{
    UNREFERENCED_PARAMETER(UcxController);

    DbgTrace(TL_INFO, UsbDevice, "UsbDevice_EvtUcxUsbDeviceEnable");

    WDF_REQUEST_PARAMETERS_INIT(&wdfRequestParams);
    WdfRequestGetParameters(WdfRequest, &wdfRequestParams);
    usbDeviceEnable = (PUSBDEVICE_ENABLE)wdfRequestParams.Parameters.Others.Arg1;
    ...

    WdfRequestComplete(Request, STATUS_SUCCESS);
}

要件

要件
対象プラットフォーム Windows
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header ucxusbdevice.h (Ucxclass.h を含む)
IRQL DISPATCH_LEVEL

こちらもご覧ください

UcxUsbDeviceCreate