DXGKDDI_OPM_GET_RANDOM_NUMBER コールバック関数 (dispmprt.h)

DxgkDdiOPMGetRandomNumber 関数は、指定された保護された出力オブジェクトの 128 ビットの暗号で保護された乱数を取得します。

構文

DXGKDDI_OPM_GET_RANDOM_NUMBER DxgkddiOpmGetRandomNumber;

NTSTATUS DxgkddiOpmGetRandomNumber(
  [in]  PVOID MiniportDeviceContext,
  [in]  HANDLE ProtectedOutputHandle,
  [out] PDXGKMDT_OPM_RANDOM_NUMBER RandomNumber
)
{...}

パラメーター

[in] MiniportDeviceContext

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 以前は、ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[in] ProtectedOutputHandle

保護された出力オブジェクトへのハンドル。 DxgkDdiOPMCreateProtectedOutput 関数は、保護された出力オブジェクトを作成し、オブジェクトへのハンドルを返します。

[out] RandomNumber

DxgkDdiOPMGetRandomNumber が正常に返された場合に、保護された出力オブジェクトの 128 ビットの暗号で保護された乱数を受け取るDXGKMDT_OPM_RANDOM_NUMBER構造体へのポインター。

DxgkDdiOPMGetRandomNumber が失敗した場合、RandomNumber が指す値は変更されません。

保護された各出力オブジェクトには、異なる 128 ビットの暗号で保護された乱数が関連付けられている必要があります。

戻り値

DxgkDdiOPMGetRandomNumber は、成功した場合STATUS_SUCCESSを返します。 それ以外の場合は、 Ntstatus.h で定義されているエラー コードのいずれかを返します。

注釈

DxgkDdiOPMGetRandomNumber は、保護された出力ごとに 1 回だけ呼び出され、 DxgkDdiOPMSetSigningKeyAndSequenceNumbers 関数の呼び出しが発生した後に呼び出されることはありません。

暗号で保護された乱数の詳細については、「 Applied Cryptography, Second Edition」のセクション 2.8 を参照してください。

DxgkDdiOPMGetRandomNumber をページング可能にする必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header dispmprt.h (Dispmprt.h を含む)
IRQL PASSIVE_LEVEL (「解説」セクションを参照)

こちらもご覧ください

DXGKMDT_OPM_RANDOM_NUMBER

DxgkDdiAddDevice

DxgkDdiOPMCreateProtectedOutput

DxgkDdiOPMSetSigningKeyAndSequenceNumbers