次の方法で共有


IOPMVideoOutput::FinishInitialization メソッド (opmapi.h)

Output Protection Manager (OPM) セッションの初期化シーケンスを完了します。

構文

HRESULT FinishInitialization(
  [in] const OPM_ENCRYPTED_INITIALIZATION_PARAMETERS *pParameters
);

パラメーター

[in] pParameters

OPM_ENCRYPTED_INITIALIZATION_PARAMETERS構造体へのポインター。 「備考」セッションの説明に従って、この構造体を初期化します。

戻り値

HRESULT を返します。使用できる値には、次の表に示す値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドが成功しました。
ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR
ディスプレイ ドライバーで予期しないエラーが発生しました。
ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS
pParameters の暗号化されたパラメーターが正しくありません。

注釈

このメソッドは、認定出力保護プロトコル (COPP) の IAMCertifiedOutputProtection::SessionSequenceStart メソッドと同じです。

pParameters パラメーターは、256 バイト配列を含むOPM_ENCRYPTED_INITIALIZATION_PARAMETERS構造体を指します。 メソッドを呼び出す前に、次のようにこの配列を準備します。 まず、次の数値を連結します。

  • IOPMVideoOutput::StartInitialization メソッドの prnRandomNumber パラメーターで返される 128 ビット番号。
  • AES 署名キー。 この値は、アプリケーションによって生成される 128 ビットの乱数です。
  • OPM 状態要求の初期シーケンス番号。 この値は、アプリケーションによって生成される 32 ビットの乱数です。
  • OPM コマンドの初期シーケンス番号。 この値は、アプリケーションによって生成される 32 ビットの乱数です。
RAEAS-OAEP を使用してこの番号を暗号化し、ディスプレイ ドライバーの公開暗号化キーを使用して暗号化します。 公開暗号化キーは、StartInitialization メソッドの ppbCertificate パラメーターで返される証明書に含まれています。

アプリケーションでは、暗号化されたセキュリティで保護された乱数を使用する必要があります。 必須ではありませんが、 CryptGenRandom 関数をお勧めします。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー opmapi.h

こちらもご覧ください

IOPMVideoOutput

Output Protection Manager