EFI_RNG_PROTOCOL.GetInfo

返回实现 EFI_RNG_PROTOCOL 的驱动程序支持的 RNG 算法的相关信息。

语法

typedef
EFI_STATUS
(EFIAPI *EFI_RNG_GET_INFO) (
    IN  struct _EFI_RNG_PROTOCOL    *This,
    IN  OUT UINTN                   *RNGAlgorithmListSize,
    OUT EFI_RNG_ALGORITHM           *RNGAlgorithmList
    );

参数

This
[in] 指向 EFI_RNG_PROTOCOL 实例的指针。

RNGAlgorithmListSize
[in, out] RNGAlgorithmList 中的算法数。

RNGAlgorithmList
[out] 指向表示 RNG 算法的 EFI_RNG_ALGORITHM 值列表的指针。 每个算法的长度为 sizeof(EFI_GUID) 字节。

注解

实现 EFI_RNG_PROTOCOL 的驱动程序可以支持一个或多个 RNG 算法。

RNGAlgorithmList 参数返回的值不得随同一驱动程序的多次调用而更改。 列表中的第一个算法是驱动程序的默认算法。

算法列表由此函数使用 EFI_BOOT_SERVICES->AllocatePool() 分配,并且调用方负责通过使用 EFI_BOOT_SERVICES->FreePool() 释放此列表。

返回值

返回下列状态代码之一。

状态代码 说明
EFI_SUCCESS 该函数已成功检索 RNG 算法列表。
EFI_UNSUPPORTED 此驱动程序不支持该服务。
EFI_DEVICE_ERROR 由于硬件或固件错误,无法检索 RNG 算法列表。
EFI_OUT_OF_RESOURCES 此驱动程序无法为 RNGAlgorithmList 参数分配内存。

要求

标头:用户生成