WdfUsbInterfaceSelectSetting 関数 (wdfusb.h)
[KMDF と UMDF に適用]
WdfUsbInterfaceSelectSetting メソッドは、指定された USB インターフェイスの指定した代替設定を選択します。
構文
NTSTATUS WdfUsbInterfaceSelectSetting(
[in] WDFUSBINTERFACE UsbInterface,
[in, optional] PWDF_OBJECT_ATTRIBUTES PipesAttributes,
[in] PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params
);
パラメーター
[in] UsbInterface
WdfUsbTargetDeviceGetInterface 呼び出すことによって取得された USB インターフェイス オブジェクトへのハンドル。
[in, optional] PipesAttributes
フレームワークがインターフェイス用に作成するパイプ オブジェクトのオブジェクト属性を指定する WDF_OBJECT_ATTRIBUTES 構造体へのポインター。 このパラメーターは省略可能であり、WDF_NO_OBJECT_ATTRIBUTESできます。
[in] Params
インターフェイス選択パラメーターを含む呼び出し元から提供される WDF_USB_INTERFACE_SELECT_SETTING_PARAMS 構造体へのポインター。
戻り値
WdfUsbInterfaceSelectSetting は、操作が成功した場合に I/O ターゲットの完了状態値を返します。 それ以外の場合、このメソッドは次のいずれかの値を返すことができます。
リターン コード | 形容 |
---|---|
|
無効なパラメーターが検出されました。 |
|
新しいパイプ オブジェクトを作成するためのメモリが不足していました。 |
WdfUsbInterfaceSelectSetting メソッドが返す可能性があるその他の戻り値の一覧については、「Framework オブジェクト作成エラー」を参照してください。
このメソッドは、他のNTSTATUS 値を返す場合もあります。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
備考
ドライバー WdfUsbTargetDeviceSelectConfig を呼び出して構成を選択した後、ドライバーは WdfUsbInterfaceSelectSetting を呼び出して、デバイスのインターフェイスのいずれかの代替設定を選択できます。
ドライバーは、USB インターフェイス記述子または URBを指定するか、インターフェイスの代替設定を指定するだけで、インターフェイスの代替設定を選択できます。 いずれの場合も、ドライバーはインターフェイス オブジェクトへのハンドルを提供する必要があります。
ドライバーが代替設定を提供するだけの場合、フレームワークはインターフェイス オブジェクトを使用して、設定が属するインターフェイスを決定します。
ドライバーがインターフェイス記述子または URB を指定する場合、フレームワークは、記述子または URB で指定されているインターフェイスを使用します。
フレームワークは、フレームワークがインターフェイス用に以前に作成したパイプ オブジェクトを削除した後、インターフェイスに関連付けられている各パイプのフレームワーク USB パイプ オブジェクトを作成します。 インターフェイスのパイプ オブジェクトに関する情報を取得するために、ドライバーは WdfUsbInterfaceGetNumConfiguredPipes を呼び出し、WdfUsbInterfaceGetConfiguredPipe をできます。
WdfUsbInterfaceSelectSetting メソッドと USB I/O ターゲットの詳細については、「USB I/O ターゲットを参照してください。
例
次のコード例では、フレームワークが作成するパイプ オブジェクトの属性を使用して、WDF_OBJECT_ATTRIBUTES 構造体を初期化します。 次に、代替設定 1 を指定する WDF_USB_INTERFACE_SELECT_SETTING_PARAMS 構造体を初期化します。 最後に、この例 WdfUsbInterfaceSelectSetting を呼び出して代替設定を選択し、インターフェイスのパイプのパイプ オブジェクトを作成します。
WDF_OBJECT_ATTRIBUTES pipesAttributes;
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS selectSettingParams;
NTSTATUS Status;
WDF_OBJECT_ATTRIBUTES_INIT(&pipesAttributes);
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(
&pipesAttributes,
MY_PIPE_CONTEXT
);
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING(
&selectSettingParams,
1
);
Status = WdfUsbInterfaceSelectSetting(
UsbInterface,
&pipesAttributes,
&selectSettingParams
);
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfusb.h (Wdfusb.h を含む) |
ライブラリ | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExp usbKmdfIrql(kmdf) , usbKmdfIrql2(kmdf) , UsbKmdfIrqlExplicit(kmdf) |
関連項目
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING
WdfUsbInterfaceGetConfiguredPipe の
WdfUsbInterfaceGetNumConfiguredPipes の
WdfUsbTargetDeviceGetInterface の
WdfUsbTargetDeviceSelectConfig の