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이면 함수는 총 대역폭과 사용된 총 대역폭을 초당 비트 단위로 반환합니다. Level이 1이면 함수는 총 대역폭 및 사용된 총 대역폭 외에 유니코드에서 컨트롤러의 기호 이름을 반환합니다.

반환 값

QueryBusInformation 은 다음 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS 호출이 성공적으로 완료되었습니다.
STATUS_BUFFER_TOO_SMALL 버퍼가 너무 작습니다. 이 오류 코드는 두 가지 경우에 반환됩니다

. 수준 == 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

추가 정보