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 instance 대한 포인터입니다.
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>>()을 사용하여 이 목록을 해제하는 것은 호출자의 책임입니다.
반환 값
다음 상태 코드 중 하나를 반환합니다.
| 상태 코드 | Description |
|---|---|
| EFI_SUCCESS | 함수가 RNG 알고리즘 목록을 성공적으로 검색했습니다. |
| EFI_UNSUPPORTED | 서비스는 이 드라이버에서 지원되지 않습니다. |
| EFI_DEVICE_ERROR | 하드웨어 또는 펌웨어 오류로 인해 RNG 알고리즘 목록을 검색할 수 없습니다. |
| EFI_OUT_OF_RESOURCES | 드라이버가 RNGAlgorithmList 매개 변수에 대한 메모리를 할당할 수 없습니다. |
요구 사항
헤더: 생성된 사용자