次の方法で共有


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_SERVICES->AllocatePool() を使って、この関数によって割り当てられます。このリストを、EFI_BOOT_SERVICES->FreePool() を使って解放するのは呼び出し元の責任です。

戻り値

次のいずれかの状態コードを返します。

状態コード 説明

EFI_SUCCESS

関数が RNG アルゴリズムのリストを正常に取得しました。

EFI_UNSUPPORTED

サービスがこのドライバーでサポートされていません。

EFI_DEVICE_ERROR

ハードウェアまたはファームウェアのエラーにより RNG アルゴリズムのリストを取得できませんでした。

EFI_OUT_OF_RESOURCES

ドライバーが RNGAlgorithmList パラメーター用のメモリを割り当てることができません。

 

必要条件

ヘッダー: ユーザーが生成