次の方法で共有


PUSB_BUSIFFN_QUERY_BUS_INFORMATIONコールバック関数 (usbbusif.h)

QueryBusInformation ルーチンは、バスに関する情報を取得します。

構文

typedef NTSTATUS
  (USB_BUSIFFN *PUSB_BUSIFFN_QUERY_BUS_INFORMATION) (
    IN PVOID,
    IN ULONG,
    IN OUT PVOID,
    IN OUT PULONG,
    OUT PULONG
  );

パラメーター

[in] unnamedParam1

IRP_MN_QUERY_INTERFACE要求によって USB_BUS_INTERFACE_USBDI_V0 構造体の BusContext メンバーで返されるハンドル。

[out, optional] unnamedParam2

出力データの長さを指定します。

[in, out] unnamedParam3

要求されたバス情報を受信するバッファーへのポインター。

[out] unnamedParam4

入力時に、BusInformationBuffer で指定されたバッファーの長。 出力時の出力データの長さ。

[in] unnamedParam5

返される情報のレベルを指定します。 Level が 0 の場合、関数は合計帯域幅と合計消費帯域幅を 1 秒あたりのビット数で返します。 Level が 1 の場合、この関数は、合計帯域幅と合計消費帯域幅に加えて、Unicode でコントローラーのシンボリック名を返します。

戻り値

QueryBusInformation は、次のいずれかの値を返します。

リターン コード 形容
STATUS_SUCCESS 呼び出しが正常に完了しました。
STATUS_BUFFER_TOO_SMALL バッファーが小さすぎます。 このエラー コードは 2 つの場合に返されます。

Level == 0 の場合は常に、BusInformationBuffer が指すバッファーのサイズが USB_BUS_INFORMATION_LEVEL_0 構造体のサイズより小さい場合に、このエラー コードが返されます。

Level == 1 の場合は常に、BusInformationBuffer が指すバッファーのサイズが USB_BUS_INFORMATION_LEVEL_1 構造体のサイズより小さい 場合、このエラー コードが返されます。

備考

このルーチンによって返される正確な情報は、Level パラメーターの値によって異なります。 このルーチンは、usbd.sysによって提供される USBD_QueryBusInformation ライブラリ関数を置き換えます。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー usbbusif.h (Usbbusif.h を含む)
IRQL < = DISPATCH_LEVEL

関連項目