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 参数分配内存。 |
要求
标头:用户生成