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

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

戻り値

なし

解説

pKeyExchangeTypeD3D11_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
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3DDDIARG_CREATEDEVICE