EFI_USBFN_IO_PROTOCOL.GetDeviceInfo

GetDeviceInfo 函数基于提供的标识符返回特定于设备的信息

EfiUsbDeviceInfoUnknown 指定为 Id 被视为无效参数。

语法

typedef
EFI_STATUS
(EFIAPI * EFI_USBFN_IO_GET_DEVICE_INFO) (
  IN EFI_USBFN_IO_PROTOCOL      *This,
  IN EFI_USBFN_DEVICE_INFO_ID   Id,
  IN OUT UINTN                  *BufferSize,
  OUT VOID                      *Buffer OPTIONAL
  );

参数

This
指向EFI_USBFN_IO_PROTOCOL实例的指针。

Id
包含 请求的设备 ID 的 EFI_USBFN_DEVICE_INFO_ID枚举。

BufferSize
在输入时,缓冲区的大小(以字节为单位)。 输出时,以字节为单位的 Buffer 中返回的数据量。

Buffer
指向将请求的信息作为 Unicode 字符串返回的缓冲区的指针。

返回值

此函数返回以下值:

返回代码 说明
EFI_SUCCESS 函数已成功返回。
EFI_INVALID_PARAMETER 参数无效。
EFI_DEVICE_ERROR 物理设备报告了错误。
EFI_NOT_READY 物理设备正忙或未准备好处理此请求。
EFI_BUFFER_TOO_SMALL 提供的缓冲区不够大,无法容纳请求字符串。

注解

如果提供的缓冲区太小或为 NULL,该方法将失败并EFI_BUFFER_TOO_SMALL,并且通过 BufferSize 返回所需的大小。 所有返回的字符串都采用 Unicode 格式。

要求

标头: 用户生成的