EFI_RNG_PROTOCOL. GetRNG
Recupera un valore RNG (Random Number Generation).
Sintassi
typedef EFI_STATUS (EFIAPI *EFI_RNG_GET_RNG) (
IN struct _EFI_RNG_PROTOCOL *This,
IN EFI_RNG_ALGORITHM *RNGAlgorithm, OPTIONAL
IN UINTN RNGValueLength,
OUT UINT8 *RNGValue
);
Parametri
This
[in] Puntatore all'istanza di EFI_RNG_PROTOCOL .
RNGAlgorithm
[in] Puntatore al EFI_RNG_ALGORITHM che identifica l'algoritmo RNG da usare. Se questo parametro è NULL, verrà usato l'algoritmo predefinito supportato dal driver.
RNGValueLength
[in] Lunghezza, in byte, del buffer restituito da RNGValue.
RNGValue
[in] Puntatore a un buffer che conterrà il valore RNG. Il valore viene allocato da questa funzione usando EFI_BOOT_SERVICES-AllocatePool() ed è responsabilità del chiamante liberare questa memoria usando EFI_BOOT_SERVICES-FreePool>>().
Commenti
La dimensione minima di RNGValue è di 32 byte.
Valore restituito
Restituisce uno dei codici di stato seguenti.
Codice stato | Descrizione |
---|---|
EFI_SUCCESS | La funzione ha restituito correttamente un valore RNG. |
EFI_INVALID_PARAMETER | RNGAlgorithm è NULL quando sono possibili diversi algoritmi. |
EFI_UNSUPPORTED | L'algoritmo specificato da RNGAlgorithm non è supportato da questo driver. |
EFI_DEVICE_ERROR | Impossibile recuperare un valore RNG a causa di un errore hardware o firmware. |
EFI_NOT_READY | Non sono disponibili dati di entropia sufficienti. |
EFI_OUT_OF_RESOURCES | Il driver non è in grado di allocare memoria per il valore RNG. |
Requisiti
Intestazione: Utente generato