PFND3D11_1DDI_DECRYPTIONBLT 콜백 함수(d3d10umddi.h)

보호된 표면에 암호화된 데이터를 씁니다. 이 함수는 D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS 구조체의 Caps 멤버에서 D3D11_1DDI_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT 설정된 경우에만 호출됩니다.

구문

PFND3D11_1DDI_DECRYPTIONBLT Pfnd3d111DdiDecryptionblt;

void Pfnd3d111DdiDecryptionblt(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
  D3D10DDI_HRESOURCE hSrcResource,
  D3D10DDI_HRESOURCE hDstResource,
  const D3D11_1DDI_ENCRYPTED_BLOCK_INFO *pEncryptedBlockInfo,
  UINT ContentKeySize,
  const VOID *pContentKey,
  UINT IVSize,
  const VOID *pIV
)
{...}

매개 변수

hDevice

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

hCryptoSession

암호화 세션에 대한 드라이버의 개인 데이터에 대한 핸들입니다. 이 핸들은 Direct3D 런타임에 의해 만들어졌으며 CreateCryptoSession 함수 호출에서 드라이버에 전달되었습니다.

hSrcResource

원본 데이터를 포함하는 리소스에 대한 핸들입니다.

hDstResource

암호화된 데이터를 쓸 리소스에 대한 포인터입니다.

pEncryptedBlockInfo

암호화된 버퍼 부분을 설명하는 D3D11_1DDI_ENCRYPTED_BLOCK_INFO 구조체에 대한 포인터입니다.

참고 전체 버퍼가 암호화되면 pEncryptedBlockinfo를 NULL로 설정해야 합니다.
 

ContentKeySize

콘텐츠 키의 크기(바이트)입니다.

pContentKey

비트 블록 전송(bitblt) 데이터의 암호를 해독하는 데 필요한 콘텐츠 키가 포함된 메모리 블록에 대한 포인터입니다.

pContentKey가 NULL로 설정되지 않은 경우 버퍼 데이터는 지정된 콘텐츠 키를 사용하여 암호화됩니다. 이 키의 데이터는 AES-ECB 알고리즘과 함께 세션 키를 사용하여 암호화됩니다.

pContentKey가 NULL인 경우 그래픽 어댑터는 데이터의 암호를 해독하기 위해 별도의 콘텐츠 키가 필요하지 않습니다. 이 경우 세션 키를 사용하여 데이터의 암호를 해독합니다.

IVSize

IV(초기화 벡터)의 크기(바이트)입니다.

pIV

비트blt 데이터의 암호를 해독하는 데 필요한 초기화 벡터가 포함된 메모리 블록에 대한 포인터입니다. 자세한 내용은 주의 섹션을 참조하세요.

참고  

pIV가 NULL인 경우 그래픽 어댑터는 데이터의 암호를 해독하기 위해 별도의 초기화 벡터가 필요하지 않습니다. 즉, 세션 키를 사용하여 데이터의 암호를 해독합니다.

 

반환 값

없음

설명

128비트 AES-CTR 암호화의 경우 pIV 매개 변수는 애플리케이션에서 할당하는 D3D11_1DDI_AES_CTR_IV 구조를 가리킵니다. 그러나 이 구조체의 실제 콘텐츠는 드라이버 또는 그래픽 어댑터에 의해 채워집니다. 첫 번째 IV가 생성되면 드라이버 또는 어댑터는 이 구조체의 IV 멤버를 난수로 초기화합니다. 이후의 각 IV에 대해 호출자는 IV 멤버를 증가하여 값이 항상 증가하도록 합니다. 이 절차를 통해 애플리케이션은 동일한 IV가 동일한 키 쌍에서 두 번 이상 사용되지 않는지 확인할 수 있습니다.

다른 암호화 유형의 경우 다른 구조가 사용되거나 암호화가 IV를 사용하지 않을 수 있습니다.

참고 이 함수는 설정되었을 수 있는 Direct3D 버전 11 조건자를 적용하지 않습니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

D3D11_1DDI_AES_CTR_IV

D3D11_1DDI_ENCRYPTED_BLOCK_INFO

D3D11_1DDI_VIDEO_CONTENT_PROTECTION_CAPS