コールバック関数EVT_UDECX_WDF_DEVICE_QUERY_USB_CAPABILITY (udecxwdfdevice.h)
エミュレートされた USB ホスト コントローラーでサポートされている機能を決定するための UDE クライアント ドライバーの実装。
構文
EVT_UDECX_WDF_DEVICE_QUERY_USB_CAPABILITY EvtUdecxWdfDeviceQueryUsbCapability;
NTSTATUS EvtUdecxWdfDeviceQueryUsbCapability(
[in] WDFDEVICE UdecxWdfDevice,
[in] PGUID CapabilityType,
[in] ULONG OutputBufferLength,
[out, optional] PVOID OutputBuffer,
[out] PULONG ResultLength
)
{...}
パラメーター
[in] UdecxWdfDevice
コントローラーを表すフレームワーク デバイス オブジェクトへのハンドル。 クライアント ドライバーは、 UdecxWdfDeviceAddUsbDeviceEmulation の前の呼び出しでこのオブジェクトを初期化しました。
[in] CapabilityType
要求された機能を指定する GUID へのポインター。 使用可能な PGUID 値は次のとおりです。
- GUID_USB_CAPABILITY_CHAINED_MDLS
- 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] OutputBufferLength
出力バッファーが使用可能な場合の、要求の出力バッファーの長さ (バイト単位)。
[out, optional] OutputBuffer
バッファーのアドレスを受け取る場所へのポインター。 特定の機能では、このバッファー内の USB デバイス エミュレーション クラス拡張機能 (UdeCx) に追加情報を提供する必要がある場合があります。
[out] ResultLength
戻り値として、コールバック関数が OutputBuffer に格納した情報のサイズをバイト単位で格納する場所。
戻り値
操作が成功した場合、コールバック関数は STATUS_SUCCESS、または NT_SUCCESS(status) が TRUE に等しい別の状態値を返す必要があります。 機能がサポートされていない場合、クライアント ドライバーは、STATUS_UNSUCCESSFULなど、NT_SUCCESS(状態) と等しい FALSE を返すことができます。
注釈
クラス拡張機能は、エミュレートされたコントローラーの機能を決定する要求をクラス拡張機能が受信したときに、クライアント ドライバーによって実装されたこのコールバック関数を呼び出します。 コールバックは、通常は EvtDevicePrepareHardware で EvtDriverDeviceAdd が返された後にのみ呼び出されます。 EvtDeviceReleaseHardware が返された後、このコールバックを呼び出すことはできません。
クラス拡張機能では、サポートされていない次の機能 GUID が報告されます。
- GUID_USB_CAPABILITY_STATIC_STREAMS
- GUID_USB_CAPABILITY_CLEAR_TT_BUFFER_ON_ASYNC_TRANSFER_CANCEL
その他の GUID の場合、クラス拡張機能はクライアント ドライバーの実装 (GUID_USB_CAPABILITY_CHAINED_MDLS など) を呼び出します。 クライアント ドライバーは、チェーンされた MDL を使用する I/O 要求のサポートを決定する必要があります。 この機能がサポートされている場合、URB の TransferBufferMdl メンバーには要求バッファーが含まれます。 チェーンされた MDL がサポートされていない場合、クライアント ドライバーはチェーンされた MDL を指す TransferBufferMdl 値を受け取りません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
サポートされている最小のサーバー | Windows Server 2016 |
対象プラットフォーム | Windows |
最小 KMDF バージョン | 1.15 |
Header | udecxwdfdevice.h (Udecx.h を含む) |
IRQL | PASSIVE_LEVEL |