次の方法で共有


PFND3D11_1DDI_CONFIGUREAUTHENTICATEDCHANNEL コールバック関数 (d3d10umddi.h)

アプリケーションからの要求を処理して、コンテンツ保護用に認証済みチャネルを構成します。 Windows ディスプレイ ドライバー モデル (WDDM) 1.2 以降のユーザー モード ディスプレイ ドライバーによって実装されます。

構文

PFND3D11_1DDI_CONFIGUREAUTHENTICATEDCHANNEL Pfnd3d111DdiConfigureauthenticatedchannel;

HRESULT Pfnd3d111DdiConfigureauthenticatedchannel(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HAUTHCHANNEL hCAuthChannel,
  UINT InputDataSize,
  const VOID *pInputData,
  D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT *pOutputData
)
{...}

パラメーター

hDevice

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

hCAuthChannel

CreateAuthenticatedChannel(D3D11_1) 関数の呼び出しによって作成された認証済みチャネル オブジェクトへのハンドル。

InputDataSize

pInputData パラメーターで指定された配列のサイズ (バイト単位)。

pInputData

コマンドの入力データを含むバイト配列へのポインター。 詳細については、「解説」セクションを参照してください。

pOutputData

D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 構造体へのポインター。 詳細については、「解説」セクションを参照してください。

戻り値

次のいずれかの値を返します。

リターン コード 説明
S_OK 認証されたチャネルが正常に構成されました。
E_FAIL ディスプレイ ミニポート ドライバーは、指定されたコマンドをサポートしていません。
E_INVALIDARG パラメーターが検証され、正しくないと判断されました。
E_OUTOFMEMORY 操作を完了するためにメモリを使用できませんでした。

備考

pInputData パラメーターによって参照されるバイト配列は、次のように書式設定されます。

  • この配列は、D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 構造体で始まります。

  • この構造体に続くデータは、構造体の ConfigureType メンバーによって指定された形式です。

次の一覧では、ConfigureType メンバーに基づいて、このデータの形式について説明します。

D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 構造体には、データの AES ベースの 1 キー CBC メッセージ認証コード (OMAC) が含まれています。 ディスプレイ ミニポート ドライバーは、データを認証するデータに対して独自の OMAC を計算する必要があります。 この入力構造体には、認証されたチャネルへのドライバー ハンドル、シーケンス番号、および構成の種類を示す GUID も含まれます。

ディスプレイ ミニポート ドライバーは、D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 構造体を初期化するときに、次の手順に従います。

  1. ドライバーは、入力データを D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 構造体にコピーする必要があります。

  2. ドライバーは、ConfigureAuthenticatedChannel(D3D11_1) 呼び出しで返されるリターン コードと同じリターン コードに ReturnCode メンバーを設定する必要があります。 これにより、リターン コードにアクセスするための安全なメカニズムがアプリケーションに提供されます。

  3. ドライバーは、omac メンバーを 0 に設定し、構造体内のデータの OMAC を計算します。 その後、ドライバーは omac メンバーを計算した OMAC に設定します。

ディスプレイ ミニポート ドライバーは、次の条件下で、ConfigureAuthenticatedChannel 呼び出しの E_INVALIDARG を返す必要があります。

  • D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 構造体の omac メンバーが、ドライバーが計算した OMAC と一致しません。

  • シーケンス番号が、前の構成呼び出しで指定されたシーケンス番号より大きくない。

  • シーケンス番号は、ConfigureAuthenticatedChannel(D3D11_1) 関数の呼び出しによってまだ初期化されていません。

  • InputDataSize パラメーターは、D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 構造体のサイズと、D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUTで指定された構造体のサイズより小さいです。ConfigureTypemember。

必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT

D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT