WdfUsbInterfaceGetConfiguredPipe 関数 (wdfusb.h)

[KMDF と UMDF に適用]

WdfUsbInterfaceGetConfiguredPipe メソッドは、指定された USB デバイス インターフェイスとパイプ インデックスに関連付けられているフレームワーク パイプ オブジェクトへのハンドルを返します。 必要に応じて、 メソッドはパイプに関する情報も返します。

構文

WDFUSBPIPE WdfUsbInterfaceGetConfiguredPipe(
  [in]                WDFUSBINTERFACE           UsbInterface,
  [in]                UCHAR                     PipeIndex,
  [in, out, optional] PWDF_USB_PIPE_INFORMATION PipeInfo
);

パラメーター

[in] UsbInterface

WdfUsbTargetDeviceGetInterface を呼び出すことによって取得された USB インターフェイス オブジェクトへのハンドル。

[in] PipeIndex

指定したインターフェイス オブジェクトに関連付けられているフレームワーク パイプ オブジェクトのセットへの 0 から始まるインデックス。

[in, out, optional] PipeInfo

フレームワークが入力する呼び出し元によって割り当てられた WDF_USB_PIPE_INFORMATION 構造体へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます

戻り値

操作が成功した場合、 WdfUsbInterfaceGetConfiguredPipe は、指定されたインターフェイス オブジェクトとパイプ インデックスに関連付けられているフレームワーク パイプ オブジェクトへのハンドルを返します。 メソッドは、WDF_USB_PIPE_INFORMATION構造体のサイズが正しくない場合、またはパイプ インデックス値が大きすぎる場合に NULL を返します。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

ドライバーは、WdfUsbTargetDeviceSelectConfig を呼び出した後、WdfUsbInterfaceGetConfiguredPipe を呼び出すことができます。

WdfUsbInterfaceGetConfiguredPipe メソッドと USB I/O ターゲットの詳細については、「USB I/O ターゲット」を参照してください。

次のコード例では、指定された USB インターフェイスの構成された各パイプに USB 中止要求を送信します。

BYTE  count, i;
NTSTATUS  status;

count = WdfUsbInterfaceGetNumConfiguredPipes(UsbInterface);

for (i = 0; i < count; i++) {
    WDFUSBPIPE pipe;
    pipe = WdfUsbInterfaceGetConfiguredPipe(
                                            UsbInterface,
                                            i,
                                            NULL
                                            );
    status = WdfUsbTargetPipeAbortSynchronously(
                                            pipe,
                                            WDF_NO_HANDLE,
                                            NULL
                                            );

    if (!NT_SUCCESS(status)) {
        break;
    }
}

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfusb.h (Wdfusb.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、 UsbKmdfIrql(kmdf)UsbKmdfIrql2(kmdf)、UsbKmdfIrqlExplicit(kmdf)

こちらもご覧ください

WDF_USB_PIPE_INFORMATION

WdfUsbInterfaceGetNumConfiguredPipes

WdfUsbTargetDeviceGetInterface

WdfUsbTargetDeviceSelectConfig