指定したコントローラーに USB デバイス オブジェクトを作成します。
構文
NTSTATUS UcxUsbDeviceCreate(
[in] UCXCONTROLLER Controller,
[out] PUCXUSBDEVICE_INIT *UsbDeviceInit,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] UCXUSBDEVICE *UsbDevice
);
パラメーター
[in] Controller
コントローラー オブジェクトへのハンドル。 クライアント ドライバーは、UcxControllerCreateへの以前の呼び出しでハンドルを取得しました。
[out] UsbDeviceInit
USB デバイス オブジェクトを作成するためのさまざまな構成操作を記述する UCXUSBDEVICE_INIT 構造体へのポインター。 ドライバーは、この構造体のコールバック関数への関数ポインターを指定します。 この構造体は UCX によって管理されます。
[in, optional] Attributes
USB デバイス オブジェクトの属性を指定する呼び出し元によって割り当てられた WDF_OBJECT_ATTRIBUTES 構造体へのポインター。
[out] UsbDevice
新しい USB デバイス オブジェクトへのハンドルを受け取る変数へのポインター。
戻り値
このメソッドは、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このメソッドは、適切な NTSTATUS エラー コードを返す可能性があります。
備考
ホスト コントローラーのクライアント ドライバーは、WdfDeviceCreate 呼び出しの後にこのメソッドを呼び出す必要があります。 新しい USB デバイス オブジェクトの親は、UCX で指定された親ハブ デバイスです。
コード例については、EVT_UCX_CONTROLLER_USBDEVICE_ADDを参照してください。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 10 |
| ターゲット プラットフォーム の | ウィンドウズ |
| 最小 KMDF バージョン | 1.0 |
| UMDF の最小バージョン を する | 2.0 |
| ヘッダー | ucxusbdevice.h (Ucxclass.h を含む) |
| IRQL | PASSIVE_LEVEL |