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 パラメーターにメモリを割り当てることができません。 |
要件
ヘッダー: ユーザー生成