Compartir a través de


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 miniporte 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 D3D11_1DDIARG_CREATECRYPTOSESSION. Esta estructura especifica los atributos de la sesión criptográfica que se va 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 vuelve a llamar al entorno de ejecución de Direct3D.

Valor devuelto

Devuelve uno de los siguientes valores:

código de retorno 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.

Observaciones

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 para determinar el tamaño en bytes de los datos privados que requiere 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 al 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 para mostrar que se usó para crear la sesión criptográfica.

Si el DecodeProfile miembro 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 Valor
cliente mínimo admitido Windows 8
servidor mínimo admitido Windows Server 2012
de la plataforma de destino de Escritorio
encabezado de d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

CalcPrivateCryptoSessionSize

D3D11_1DDIARG_CREATECRYPTOSESSION

NegotiateCryptoSessionKeyExchange