PFND3D11_1DDI_CREATECRYPTOSESSION función de devolución de llamada (d3d10umddi.h)
Crea una sesión criptográfica para cifrar el contenido de vídeo que se envía al controlador de minipuerto de pantalla.
Sintaxis
PFND3D11_1DDI_CREATECRYPTOSESSION Pfnd3d111DdiCreatecryptosession;
HRESULT Pfnd3d111DdiCreatecryptosession(
D3D10DDI_HDEVICE hDevice,
const D3D11_1DDIARG_CREATECRYPTOSESSION *pCreateData,
D3D11_1DDI_HCRYPTOSESSION hCryptoSession,
D3D11_1DDI_HRTCRYPTOSESSION hRTCryptoSession
)
{...}
Parámetros
hDevice
Identificador del dispositivo de visualización (contexto de gráficos).
pCreateData
Puntero a una estructura de D3D11_1DDIARG_CREATECRYPTOSESSION . Esta estructura especifica los atributos de la sesión criptográfica que se van a crear.
hCryptoSession
Identificador de los datos privados del controlador para la sesión criptográfica. Para obtener más información, vea la sección Comentarios.
hRTCryptoSession
Identificador de la sesión criptográfica que el controlador debe usar cuando llama de nuevo al tiempo de ejecución de Direct3D.
Valor devuelto
Devuelve uno de los valores siguientes:
Código devuelto | Descripción |
---|---|
S_OK | El canal autenticado se creó correctamente. |
D3DDDIERR_DEVICEREMOVED | Se quitó el adaptador de gráficos. |
D3DDDIERR_UNSUPPORTEDCRYPTO | Se especificó un tipo criptográfico que no es compatible con el perfil de descodificación. |
E_OUTOFMEMORY | La memoria no estaba disponible para completar la operación. |
Comentarios
El tiempo de ejecución de Direct3D llama a CreateCryptoSession para crear una sesión criptográfica que el tiempo de ejecución usa para administrar una clave de sesión y para realizar operaciones criptográficas para el contenido de vídeo almacenado en memoria protegida.
El tiempo de ejecución llama a CreateCryptoSession después de llamar al CalcPrivateCryptoSessionSize del controlador para determinar el tamaño en bytes de los datos privados que necesita el controlador para la sesión criptográfica. El tiempo de ejecución asigna la memoria para estos datos privados para el controlador. El controlador usa esta memoria para almacenar datos privados relacionados con la sesión criptográfica.
Cuando el tiempo de ejecución llama a CreateCryptoSession, pasa el identificador a la memoria de datos privada en el parámetro hCryptoSession . Este identificador es realmente un puntero a la memoria.
El controlador debe realizar un seguimiento del identificador en el dispositivo de visualización que se usó para crear la sesión criptográfica. El controlador debe producir un error en todas las llamadas posteriores que usan esta sesión criptográfica creada, como NegotiateCryptoSessionKeyExchange, si el dispositivo para mostrar especificado en esas llamadas es diferente del dispositivo de visualización que se usó para crear la sesión criptográfica.
Si el miembro DecodeProfile de la estructura D3D11_1DDIARG_CREATECRYPTOSESSION está establecido en NULL_GUID, la sesión criptográfica no se usará para la descodificación de DirectX Video Acceleration (DXVA). Si DecodeProfile no está establecido en NULL_GUID, el controlador debe producir un error en la llamada con D3DDDIERR_UNSUPPORTEDCRYPTO si el miembro CryptoType está establecido en un tipo criptográfico que no es compatible con el perfil de descodificación.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 |
Servidor mínimo compatible | Windows Server 2012 |
Plataforma de destino | Escritorio |
Encabezado | d3d10umddi.h (incluya D3d10umddi.h) |