次の方法で共有


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

UCX がデバイスとその既定のエンドポイントに関連付けられているコントローラー リソースを解放するためにを呼び出すクライアント ドライバーの実装。

構文

EVT_UCX_USBDEVICE_DISABLE EvtUcxUsbdeviceDisable;

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

パラメーター

[in] UcxController

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

[in] Request

USBDEVICE_DISABLE型の構造体。

戻り値

なし

解説

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

クライアント ドライバーがコントローラー リソースを解放すると、WDFREQUEST が完了します。 完了後、UCX がこの USB デバイスを参照して呼び出す唯一のコールバック関数は EVT_UCX_USBDEVICE_ENABLE

デバイスが無効になっている間、UCX は転送をスケジュールしません。

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

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

VOID
UsbDevice_EvtUcxUsbDeviceDisable(
    UCXCONTROLLER      UcxController,
    WDFREQUEST         Request
)


{
    UNREFERENCED_PARAMETER(UcxController);

    DbgTrace(TL_INFO, UsbDevice, "UsbDevice_EvtUcxUsbDeviceDisable");

    WDF_REQUEST_PARAMETERS_INIT(&wdfRequestParams);
    WdfRequestGetParameters(WdfRequest, &wdfRequestParams);
    usbDeviceDisable = (PUSBDEVICE_DISABLE)wdfRequestParams.Parameters.Others.Arg1;
    ...

    WdfRequestComplete(Request, STATUS_SUCCESS);
}

要件

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

こちらもご覧ください

UcxUsbDeviceCreate