次の方法で共有


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 ライブラリ関数を置き換えます。

要件

要件
対象プラットフォーム デスクトップ
Header usbbusif.h (Usbbusif.h を含む)
IRQL < = DISPATCH_LEVEL

こちらもご覧ください