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.
En la ilustración siguiente se muestra cómo el controlador de minipuerto de pantalla implementa normalmente 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
DxgkDdiOPMConfigureProtectedOutput
DxgkDdiOPMDestroyProtectedOutput