次の方法で共有


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

GetCryptoSessionPrivateDataSize は、オプションのプライベート ドライバー データのサイズを取得します。

構文

PFND3DWDDM2_0DDI_GETCRYPTOSESSIONPRIVATEDATASIZE Pfnd3dwddm20DdiGetcryptosessionprivatedatasize;

void Pfnd3dwddm20DdiGetcryptosessionprivatedatasize(
  D3D10DDI_HDEVICE hDevice,
  const GUID *pCryptoType,
  const GUID *pDecoderProfile,
  const GUID *pKeyExchangeType,
  UINT *pPrivateInputSize,
  UINT *pPrivateOutputSize
)
{...}

パラメーター

hDevice

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。 Direct3D ランタイムは、デバイスの作成時に、このハンドルを D3DDDIARG_CREATEDEVICE 構造体の hDevice メンバーとしてユーザー モード ドライバーに渡しました。

pCryptoType

プライベート入力および出力サイズの照会対象となる暗号化の種類を示します。

pDecoderProfile

プライベート入力および出力サイズの照会対象となるデコーダー プロファイルを示します。

pKeyExchangeType

プライベート入力および出力サイズの照会対象となるキー交換の種類を示します。

pPrivateInputSize

ドライバーが入力コマンドに必要とするプライベート データのサイズを返します。

pPrivateOutputSize

ドライバーが出力コマンドに必要とするプライベート データのサイズを返します。

戻り値

何一つ

備考

pKeyExchangeType D3D11_KEY_EXCHANGE_HW_PROTECTIONされている場合、NegotiateCryptessionKeyExchangeデバイス ドライバー インターフェイス (DDI) で次の動作が想定されます。

  • DataSize は、D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA 構造体のサイズに設定されます。
  • pData は、D3D11_KEY_EXCHANGE_CONTENT_PROTECTION_DATA 構造体を指します。
  • pInputData は、次の D3D11_KEY_EXCHANGE_CONTENT_PROTECTION_OUTPUT_DATA 構造を指します。
    • pbInput[0] – pbInput[N-1] には、ドライバーで使用するために予約されたメモリが含まれています。 ドライバー用に予約されたバイト数 (N) は、GetCryptoSessionPrivateDataSizeDDI によって返される pPrivateInputSize 値によって決まります。
    • pbInput[N] には、Digital Rights Management (DRM) コマンド パケットの最初のバイトが含まれています。
  • pOutputData は、次の場所にある D3D11_KEY_EXCHANGE_CONTENT_PROTECTION_OUTPUT_DATA 構造体を指します。
    • pbOutput[0] – pbOutput[M-1] には、ドライバーで使用するために予約されたメモリが含まれています。 ドライバー用に予約されたバイト数 (M) は、GetCryptoSessionPrivateDataSizeDDI によって返される pPrivateOutputSize 値によって決まります。
    • pbOutput[M] には、DRM コマンド パケットの最初のバイトが含まれています。

必要条件

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

関連項目

D3DDDIARG_CREATEDEVICE