PFND3D11_1DDI_ENCRYPTIONBLT callback function (d3d10umddi.h)
Reads encrypted data from a protected surface.
Syntax
PFND3D11_1DDI_ENCRYPTIONBLT Pfnd3d111DdiEncryptionblt;
void Pfnd3d111DdiEncryptionblt(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
D3D10DDI_HRESOURCE hSrcResource,
D3D10DDI_HRESOURCE hDstResource,
UINT IVSize,
const VOID *pIV
)
{...}
Parameters
hDevice
A handle to the display device (graphics context).
hCryptoSession
A handle to the driver's private data for the cryptographic session. This handle was created by the Direct3D runtime and passed to the driver in the call to the CreateCryptoSession function.
hSrcResource
A handle to the resource that contains the source data.
hDstResource
A pointer to the resource where the encrypted data is to be written.
IVSize
The size, in bytes, of the initialization vector (IV).
pIV
A pointer to a block of memory that contains the initialization vector that is required to encrypt the bitblt data. For more information, see the Remarks section.
If pIV is NULL, the graphics adapter does not require a separate initialization vector to encrypt the data. That is, the session key is used to encrypt the data.
Return value
None
Remarks
This function has the following limitations:
- The function cannot read back subrectangles or partially encrypted surfaces.
- The function cannot read back partially encrypted buffers. Many hardware-based encryption solutions will not allow nonencrypted reads from protected memory.
- The protected surface must be either an off-screen plain surface or a render target.
- The destination surface must be a system-memory surface that was created by using the proper alignment, as described earlier.
- The protected surface cannot be multisampled.
- The function does not support stretching or color space conversion.
For other encryption types, a different structure might be used, or the encryption might not use an IV.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Minimum supported server | Windows Server 2012 |
Target Platform | Desktop |
Header | d3d10umddi.h (include D3d10umddi.h) |