D3DDDIENCRYPTED_BLOCK_INFO 구조체(d3dumddi.h)

D3DDDIENCRYPTED_BLOCK_INFO 구조체는 암호화된 버퍼의 부분을 설명합니다.

구문

typedef struct _D3DDDIENCRYPTED_BLOCK_INFO {
  [in] UINT NumEncryptedBytesAtBeginning;
  [in] UINT NumBytesInSkipPattern;
  [in] UINT NumBytesInEncryptPattern;
} D3DDDIENCRYPTED_BLOCK_INFO;

멤버

[in] NumEncryptedBytesAtBeginning

암호화된 버퍼의 시작 부분에 있는 바이트 수입니다.

[in] NumBytesInSkipPattern

암호화가 다시 시작되기 전에 암호화에서 건너뛴 버퍼의 바이트 수입니다.

[in] NumBytesInEncryptPattern

NumBytesInSkipPattern 멤버가 지정하는 건너뛰기 패턴 이후에 암호화되는 버퍼의 바이트 수입니다. 그런 다음 버퍼가 끝날 때까지 건너뛰기 및 암호화 패턴이 반복됩니다. skip-encrypt 패턴에 대한 자세한 내용은 설명 섹션을 참조하세요.

설명

버퍼의 암호화된 부분은 바이트로 지정되므로 애플리케이션은 암호화된 블록이 GPU의 암호화 블록 맞춤과 일치하는지 확인해야 합니다.

런타임은 런타임이 드라이버의 DecryptionBlt 함수를 호출하여 보호된 표면에 데이터를 쓸 때 D3DDDIARG_DECRYPTIONBLT 구조체의 pEncryptedBlockInfo 멤버가 가리키는 메모리 블록에 채워진 D3DDDIENCRYPTED_BLOCK_INFO 구조를 지정할 수 있습니다.

다음 예제에서는 런타임이 버퍼의 암호화를 분할하는 방법을 보여 줍니다.

  1. 다음 값은 버퍼의 처음 100바이트를 암호화하고 나머지 버퍼 데이터를 건너뜁니다.
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 0;
    • NumBytesInEnycryptPattern = 0;
  2. 다음 값은 버퍼의 처음 100바이트를 암호화하고, 다음 20바이트를 건너뛴 다음, 다음 2바이트 블록을 암호화합니다. 그런 다음 이러한 값이 20바이트를 건너뛰고 버퍼가 끝날 때까지 2바이트를 암호화하는 프로세스가 반복됩니다.
    • NumEncryptedBytesAtBeginning = 100;
    • NumBytesInSkipPattern = 20;
    • NumBytesInEnycryptPattern = 2;

요구 사항

요구 사항
지원되는 최소 클라이언트 D3DDDIENCRYPTED_BLOCK_INFO Windows 7 운영 체제부터 지원됩니다.
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDIARG_DECRYPTIONBLT

DecryptionBlt