DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT función de devolución de llamada (dispmprt.h)

La función DxgkDdiOPMCreateProtectedOutput crea un nuevo objeto de salida protegido con la semántica del Protocolo de protección de salida certificada (COPP) o OPM.

Sintaxis

DXGKDDI_OPM_CREATE_PROTECTED_OUTPUT DxgkddiOpmCreateProtectedOutput;

NTSTATUS DxgkddiOpmCreateProtectedOutput(
  [in]  PVOID MiniportDeviceContext,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in]  DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS NewVideoOutputSemantics,
  [out] PHANDLE NewProtectedOutputHandle
)
{...}

Parámetros

[in] MiniportDeviceContext

Identificador de un bloque de contexto asociado a un adaptador de pantalla. Anteriormente, la función DxgkDdiAddDevice del controlador de miniporte de pantalla proporcionó este identificador al subsistema del kernel de gráficos de DirectX.

[in] VidPnTargetId

Entero que identifica de forma única el destino actual del vídeo que corresponde al nuevo objeto de salida protegido. Cada destino de vídeo presente debe corresponder a un conector de monitor físico. Si VidPnTargetId corresponde a varios conectores de monitor físico, DxgkDdiOPMCreateProtectedOutput debe devolver el código de error STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED o STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED.

[in] NewVideoOutputSemantics

Valor DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS con tipo que determina si la nueva salida protegida tiene semántica COPP o OPM.

[out] NewProtectedOutputHandle

Puntero a una variable que recibe el identificador del nuevo objeto de salida protegido si DxgkDdiOPMCreateProtectedOutput devuelve correctamente. El subsistema del kernel de gráficos de DirectX pasa este identificador en las llamadas al controlador de miniportar DxgkDdiOPMGetRandomNumber, DxgkDdiOPMSetSigningKeyAndSequenceNumbersDxgkDdiOPMGetInformation, DxgkDdiOPMGetCOPPCompatibleInformation, DxgkDdiOPMConfigureProtectedOutput y DxgkDdiOPMDestroyProtectedOutput.

Si se produce un error en DxgkDdiOPMCreateProtectedOutput , el valor de la variable no cambia.

Valor devuelto

DxgkDdiOPMCreateProtectedOutput devuelve uno de los valores siguientes.

Código devuelto Descripción
STATUS_SUCCESS La función creó correctamente un nuevo objeto de salida protegido.
STATUS_GRAPHICS_OPM_NOT_SUPPORTED El controlador de miniporte de pantalla no admite OPM, ya sea porque el proveedor de hardware nunca firmó el contrato de licencia de OPM o el hardware gráfico del controlador de miniporte no cumple con las reglas de OPM.
STATUS_GRAPHICS_COPP_NOT_SUPPORTED El controlador de minipuerto de pantalla no admite COPP, ya sea porque el proveedor de hardware nunca firmó el contrato de licencia copP o el hardware gráfico del controlador de miniporte no cumple con las reglas copP.
STATUS_NO_MEMORY DxgkDdiOPMCreateProtectedOutput no puede asignar memoria necesaria para que se complete.
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput no pudo crear una salida protegida porque el destino del vídeo presente está en modo de expansión. Cuando el destino del vídeo presente está en modo de expansión, corresponde a varios conectores de monitor físico y cada conector muestra una parte independiente del búfer de fotogramas. Para obtener un diagrama de cómo el controlador de minipuerto de pantalla implementa normalmente el modo de expansión, consulte la sección Comentarios. El controlador de minipuerto de pantalla informa al sistema operativo sobre cómo corresponde el búfer de fotogramas a un monitor determinado. La mitad izquierda del búfer de fotogramas se muestra en un monitor y la mitad derecha del búfer de fotogramas se muestra en el otro monitor.
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED DxgkDdiOPMCreateProtectedOutput no pudo crear una salida protegida porque el destino del vídeo presente está en modo de teatro. Cuando el destino del vídeo presente está en modo de teatro, corresponde a dos conectores de monitor físico; un conector muestra todo el búfer de fotogramas y el otro conector muestra solo parte del búfer de fotogramas. El modo de teatro también se conoce como modo reflejado. Para obtener un diagrama de cómo el controlador de minipuerto de pantalla implementa normalmente el modo de teatro, vea la sección Comentarios. El controlador de minipuerto de pantalla informa al sistema operativo sobre cómo corresponde el búfer de fotogramas a un monitor determinado. El búfer de fotogramas completo se muestra en un monitor y solo se muestra parte del búfer de fotogramas en el otro monitor.

Esta función también puede devolver otros códigos de error definidos en Ntstatus.h.

Comentarios

En la ilustración siguiente se muestra cómo el controlador de minipuerto de pantalla implementa normalmente el modo de expansión.

Diagrama que ilustra el modo de expansión En la ilustración siguiente se muestra cómo el controlador de minipuerto de pantalla implementa normalmente el modo de teatro. Diagrama que ilustra el modo de teatro *DxgkDdiOPMCreateProtectedOutput* debe ser paginable.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL (consulte la sección Comentarios)

Consulte también

DXGKMDT_OPM_VIDEO_OUTPUT_SEMANTICS

DxgkDdiAddDevice

DxgkDdiOPMConfigureProtectedOutput

DxgkDdiOPMDestroyProtectedOutput

DxgkDdiOPMGetCOPPCompatibleInformation

DxgkDdiOPMGetInformation

DxgkDdiOPMGetRandomNumber

DxgkDdiOPMSetSigningKeyAndSequenceNumbers