다음을 통해 공유


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 경우 NegotiateCryptessionKeyExchangeDDI(디바이스 드라이버 인터페이스)에서 다음 동작이 예상됩니다.

  • DataSizeD3D11_KEY_EXCHANGE_HW_PROTECTION_DATA 구조체의 크기로 설정됩니다.
  • pDataD3D11_KEY_EXCHANGE_CONTENT_PROTECTION_DATA 구조를 가리킵니다.
  • pInputData다음과 같은 D3D11_KEY_EXCHANGE_CONTENT_PROTECTION_OUTPUT_DATA 구조를 가리킵니다.
    • pbInput[0] – pbInput[N-1]에는 드라이버에서 사용하도록 예약된 메모리가 포함되어 있습니다. 드라이버에 대해 예약된 바이트 수(N)는 GetCryptoSessionPrivateDataSizeDDI에서 반환된 pPrivateInputSize 값에 의해 결정됩니다.
    • pbInput[N]에는 DRM(Digital Rights Management) 명령 패킷의 첫 번째 바이트가 포함되어 있습니다.
  • 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