WdfUsbTargetDeviceQueryUsbCapability 関数 (wdfusb.h)
[KMDF と UMDF に適用]
WdfUsbTargetDeviceQueryUsbCapability メソッドは、ホスト コントローラーと USB ドライバー スタックが特定の機能をサポートするかどうかを決定します。
構文
NTSTATUS WdfUsbTargetDeviceQueryUsbCapability(
[in] WDFUSBDEVICE UsbDevice,
[in] const GUID *CapabilityType,
[in] ULONG CapabilityBufferLength,
[out, optional] PVOID CapabilityBuffer,
[out, optional] PULONG ResultLength
);
パラメーター
[in] UsbDevice
USB デバイス オブジェクトへのハンドル。
[in] CapabilityType
クライアント ドライバーが情報を取得する機能を表す GUID へのポインター。 PGUID 値 考えられる値は次のとおりです。
- GUID_USB_CAPABILITY_CHAINED_MDLS
- GUID_USB_CAPABILITY_STATIC_STREAMS
- GUID_USB_CAPABILITY_SELECTIVE_SUSPEND
- GUID_USB_CAPABILITY_FUNCTION_SUSPEND
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
[in] CapabilityBufferLength
CapabilityBufferが指すバッファーの長さ (バイト単位)。
[out, optional] CapabilityBuffer
要求された USB 機能を受け取る呼び出し元によって割り当てられたバッファーへのポインター。 このパラメーターは省略可能です。 CapabilityBufferLength 0 の場合、このパラメーターは NULL である必要があります。 同様に、CapabilityBufferLength が 0 以外の場合は、このパラメーターを指定する必要があります。 このパラメーターは、USBD_QueryUsbCapability ルーチンの OutputBuffer パラメーターに対応します。
[out, optional] ResultLength
返される機能のサイズ (バイト単位) を含む場所へのポインター。 このパラメーターは省略可能です。
戻り値
WdfUsbTargetDeviceQueryUsbCapability 、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、このメソッドは次のいずれかの値を返すことができます。
リターン コード | 形容 |
---|---|
|
USB デバイス オブジェクト ハンドルが無効です。 |
|
メモリが不足していました。 |
|
呼び出し元が無効なパラメーター値を渡しました。
|
|
指定された機能は、基になる USB ドライバー スタックではサポートされていません。 |
|
指定された機能は、ホスト コントローラー ハードウェアではサポートされていません。 |
このメソッドは、他のNTSTATUS 値を返す場合もあります。
備考
WdfUsbTargetDeviceQueryUsbCapability 呼び出す前に、ドライバー WdfUsbTargetDeviceCreateWithParameters を呼び出して、基になる USB ドライバー スタックに登録する必要があります。
ドライバー EvtDevicePrepareHardware コールバック関数が呼び出された後、WdfUsbTargetDeviceQueryUsbCapability を呼び出す必要があります。
次の表では、KMDF ベースの USB クライアント ドライバーが WdfUsbTargetDeviceQueryUsbCapability 呼び出しを介してクエリを実行できる USB 固有の機能について説明します。
機能 GUID | 形容 |
---|---|
GUID_USB_CAPABILITY_CHAINED_MDLS |
Windows 8 の新しい USB ドライバー スタックは、KMDF ベースの USB クライアント ドライバーからチェーンされた MDL (MDLを参照) を受け入れることが可能です。
USB ドライバー スタックのチェーンされた MDL 機能の詳細については、「チェーンされた MDLsを送信する方法」を参照してください。 この GUID は KMDF ドライバーにのみ適用されます。 |
GUID_USB_CAPABILITY_STATIC_STREAMS |
USB 2.0 以前では、一括エンドポイント経由での 1 つのデータ ストリームの送信のみがサポートされているのに対し、USB 3.0 では、一括エンドポイントを介した複数のデータ ストリームの送受信が許可されています。
ストリームを開く方法の詳細については、「USB 一括エンドポイントで静的ストリームを開いたり閉じたりする方法」を参照してください。 この GUID は KMDF ドライバーにのみ適用されます。 |
GUID_USB_CAPABILITY_FUNCTION_SUSPEND |
ユニバーサル シリアル バス (USB) 3.0 仕様では、関数中断と呼ばれる新機能が定義されています。 この機能により、複合デバイスの個々の機能が、他の機能とは無関係に低電力状態に入ります。
関数の中断の詳細については、「複合ドライバーで関数の中断を実装する方法」を参照してください。 この GUID は KMDF ドライバーにのみ適用されます。 |
GUID_USB_CAPABILITY_SELECTIVE_SUSPEND |
選択的一時停止の詳細については、「USB 選択的一時停止 を参照してください。
この GUID は KMDF ドライバーにのみ適用されます。 |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE |
バスが高速で動作しているか、またはそれ以上で動作しているかを判断します。
この GUID は、KMDF ドライバーと UMDF ドライバーに適用されます。 |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE |
バスが SuperSpeed 以上で動作しているかどうかを判断します。
この GUID は、KMDF ドライバーと UMDF ドライバーに適用されます。 |
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.11 |
UMDF の最小バージョン を する | 2.0 |
ヘッダー | wdfusb.h (Wdfusb.h を含む) |
ライブラリ | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | DriverCreate(kmdf) |
関連項目
WdfUsbTargetDeviceRetrieveInformation の