次の方法で共有


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
[入力] EFI_RNG_PROTOCOL インスタンスへのポインター。

RNGAlgorithmListSize
[入力、出力] RNGAlgorithmList 内のアルゴリズムの数。

RNGAlgorithmList
[出力] RNG アルゴリズムを表す EFI_RNG_ALGORITHM 値の一覧へのポインター。 各アルゴリズムは sizeof(EFI_GUID) バイト長です。

解説

EFI_RNG_PROTOCOL を実装するドライバーは、1 つ以上の RNG アルゴリズムをサポートできます。

RNGAlgorithmList パラメーターによって返される値は、同じドライバーへの複数の呼び出しで変更できません。 一覧の最初のアルゴリズムは、ドライバーのデフォルトのアルゴリズムです。

アルゴリズムの一覧は、EFI_BOOT_Standard Edition RVICES->AllocatePool() を使用してこの関数によって割り当てられます。呼び出し元は、EFI_BOOT_Standard Edition RVICES->FreePool() を使用してこの一覧を解放する必要があります。

戻り値

次のいずれかのステータス コードを返します。

状態コード 説明
EFI_SUCCESS この関数は、RNG アルゴリズムの一覧を正常に取得しました。
EFI_UNSUPPORTED このドライバーではこのサービスがサポートされていません。
EFI_DEVICE_ERROR ハードウェアまたはファームウェアのエラーのため、RNG アルゴリズムの一覧を取得できませんでした。
EFI_OUT_OF_RESOURCES ドライバーは、RNGAlgorithmList パラメーターにメモリを割り当てることができません。

要件

ヘッダー: ユーザー生成