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)

Consulte también

CalcPrivateCryptoSessionSize

D3D11_1DDIARG_CREATECRYPTOSESSION

NegotiateCryptoSessionKeyExchange