ID3D11VideoContext::EncryptionBlt 메서드(d3d11.h)
보호된 표면에서 암호화된 데이터를 읽습니다.
구문
void EncryptionBlt(
[in] ID3D11CryptoSession *pCryptoSession,
[in] ID3D11Texture2D *pSrcSurface,
[in] ID3D11Texture2D *pDstSurface,
[in] UINT IVSize,
[in] void *pIV
);
매개 변수
[in] pCryptoSession
암호화 세션의 ID3D11CryptoSession 인터페이스에 대한 포인터입니다.
[in] pSrcSurface
보호된 표면의 ID3D11Texture2D 인터페이스에 대한 포인터입니다.
[in] pDstSurface
암호화된 데이터를 수신하는 표면의 ID3D11Texture2D 인터페이스에 대한 포인터입니다.
[in] IVSize
pIV 버퍼의 크기(바이트)입니다.
[in] pIV
IV(초기화 벡터)를 수신하는 버퍼에 대한 포인터입니다. 호출자는 이 버퍼를 할당하지만 드라이버는 IV를 생성합니다.
128비트 AES-CTR 암호화의 경우 pIV 는 D3D11_AES_CTR_IV 구조를 가리킵니다. 드라이버는 첫 번째 IV를 생성할 때 구조를 난수로 초기화합니다. 이후의 각 IV에 대해 드라이버는 단순히 구조체의 IV 멤버를 증가시켜 값이 항상 증가하도록 합니다. 애플리케이션은 동일한 키 쌍에서 동일한 IV가 두 번 이상 사용되지 않는지 확인할 수 있습니다.
반환 값
메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
모든 드라이버가 이 메서드를 지원하는 것은 아닙니다. 드라이버 기능을 쿼리하려면 ID3D11VideoDevice::GetContentProtectionCaps를 호출하고 D3D11_VIDEO_CONTENT_PROTECTION_CAPS 구조체의 Caps 멤버에서 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK 플래그를 검사.
일부 드라이버는 다시 읽은 데이터의 암호를 해독하기 위해 별도의 키가 필요할 수 있습니다. 이 요구 사항을 검사 위해 GetContentProtectionCaps를 호출하고 D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY 플래그에 대한 검사. 이 플래그가 있으면 ID3D11VideoContext::GetEncryptionBltKey 를 호출하여 암호 해독 키를 가져옵니다.
이 메서드에는 다음과 같은 제한 사항이 있습니다.
- 하위 사각형을 다시 읽는 것은 지원되지 않습니다.
- 부분적으로 암호화된 표면을 다시 읽는 것은 지원되지 않습니다.
- 보호된 표면은 오프 스크린 일반 표면 또는 렌더링 대상이어야 합니다.
- 대상 표면은 D3D11_USAGE_STAGING 리소스여야 합니다.
- 보호된 표면은 다중 샘플링할 수 없습니다.
- 늘이기 및 색 영역 변환은 지원되지 않습니다.
이 함수는 설정되었을 수 있는 D3D11 조건자를 적용하지 않습니다.
애플리케이션에서 D3D11 쿼리를 사용하는 경우 이 함수는 11보다 낮은 기능 수준을 사용할 때 D3D11_QUERY_EVENT 및 D3D11_QUERY_TIMESTAMP 고려하지 않을 수 있습니다. D3D11_QUERY_PIPELINE_STATISTICS 기능 수준에 대해 이 함수를 포함하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | d3d11.h |