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) |