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