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 格式。
要求
标头: 用户生成的