Share via


Función DrvSynchronizeSurface (winddi.h)

La función DrvSynchronizeSurface informa al controlador de que GDI necesita escribir en la superficie especificada. Esta función permite coordinar las operaciones de dibujo realizadas por el coprocesador de un dispositivo con GDI.

Sintaxis

void DrvSynchronizeSurface(
  SURFOBJ *pso,
  RECTL   *prcl,
  FLONG   fl
);

Parámetros

pso

Puntero a una estructura SURFOBJ que identifica la superficie en la que se va a producir la sincronización del dibujo.

prcl

Especifica una estructura RECTL que representa la superficie en la que se dibujará GDI o NULL. Si esto no entra en conflicto con la operación de dibujo en curso, el controlador puede optar por dejar dibujar GDI sin esperar a que se complete el coprocesador.

fl

Es una marca que especifica el evento para el que GDI realiza la solicitud de sincronización. Este parámetro puede establecerse con uno de los siguientes valores:

DSS_TIMER_EVENT

GDI llama a esta función debido a un evento de temporizador de sincronización. Los eventos de temporizador se generan solo para los controladores que especifican el bit de GCAPS2_SYNCTIMER de la estructura DEVINFO .

DSS_FLUSH_EVENT

GDI llama a esta función debido a un evento de vaciado de sincronización. Estos eventos de vaciado se generan solo para los controladores que especifican el bit GCAPS2_SYNCFLUSH de la estructura DEVINFO .

Valor devuelto

None

Observaciones

Esta función permite coordinar las operaciones de dibujo realizadas por el coprocesador de un dispositivo con GDI.

DrvSynchronizeSurface se puede implementar opcionalmente en controladores de pantalla. GDI llama a esta función solo si está enlazada por EngAssociateSurface. GDI llama a DrvSynchronizeSurface justo antes de dibujar directamente en la superficie del dispositivo.

DrvSynchronizeSurface está diseñado para admitir dispositivos que usan un coprocesador para dibujar. Este dispositivo puede iniciar una operación de dibujo larga y volver a GDI mientras continúa la operación. Si el controlador de dispositivo no realiza todas las operaciones de dibujo en la superficie, es posible que GDI controle una operación de dibujo posterior. En este caso, es necesario que GDI espere a que el coprocesador complete su trabajo antes de que GDI pueda dibujar en la superficie.

Esta función debe devolverse cuando sea seguro que GDI se dibuje en la superficie dentro de la región rectangular especificada por prcl.

DrvSynchronizeSurface no es una función de salida.

Requisitos

   
Plataforma de destino Escritorio
Encabezado winddi.h (incluya Winddi.h)

Consulte también

DrvEnablePDEV

DrvSynchronize

EngAssociateSurface