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 |