Compartir a través de


DXGKDDI_PRESENTDISPLAYONLY función de devolución de llamada (d3dkmddi.h)

Presenta la imagen de pantalla al dispositivo de visualización de un controlador de solo visualización en modo kernel (KMDOD).

Sintaxis

DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;

NTSTATUS DxgkddiPresentdisplayonly(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_PRESENT_DISPLAYONLY pPresentDisplayOnly
)
{...}

Parámetros

hAdapter

Identificador del contexto del dispositivo para el adaptador de pantalla. La función DxgkDdiAddDevice de KMDOD devolvió previamente este identificador en el parámetro MiniportDeviceContext .

pPresentDisplayOnly

Puntero a una estructura de DXGKARG_PRESENT_DISPLAYONLY que contiene información sobre la operación actual.

Valor devuelto

Devuelve uno de los valores siguientes:

Código devuelto Descripción
STATUS_SUCCESS La operación actual se completó correctamente.
STATUS_PENDING La operación actual se ha enviado a la cola de software o hardware para completarse.
En este caso, el KMDOD debe usar una llamada a procedimiento diferido y de interrupción (DPC) para notificar el progreso de la operación actual actual. De lo contrario, el sistema operativo usa el proceso de detección y recuperación de tiempo de espera (TDR), que notifica un error y requiere que el KMDOD se reinicialice y restablezca la GPU.
Tenga en cuenta que este código de estado no debe devolverse para el modo sincrónico, como se describe en Comentarios.

 

El controlador también puede devolver cualquier otro código de estado de error definido en Ntstatus.h para indicar problemas que se han producido con la operación actual.

Comentarios

El KMDOD debe completar todos los movimientos de pantalla a pantalla antes de copiar rectángulos sucios. Además, el KMDOD debe completar cada operación de movimiento o copia antes de iniciar otra operación de movimiento o copia.

El sistema operativo admite dos modos de operaciones presentes de KMDOD: sincrónicas y asincrónicas. Según la implementación de hardware y controlador, el KMDOD puede usar el modo o cambiar entre ellos en cualquier momento.

El sistema operativo garantiza que esta función sigue el modo de sincronización de nivel cero tal y como se define en Subprocesos y Nivel cero de sincronización.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado d3dkmddi.h
IRQL PASSIVE_LEVEL

Consulte también

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT_DISPLAYONLY

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkCbPresentDisplayOnlyProgress

DxgkCbQueueDpc

DxgkDdiAddDevice