Compartir a través de


Función DdResetVisrgn (ddrawgdi.h)

[Esta función está sujeta a cambios con cada revisión del sistema operativo. En su lugar, use Microsoft DirectDraw y Microsoft Direct3DAPIs; estas API aíslan las aplicaciones de estos cambios en el sistema operativo y ocultan muchas otras dificultades implicadas en la interacción directa con los controladores de pantalla.

Contenedor para la función NtGdiDdResetVisrgn y habilita la información en modo de usuario oportuna en la región de recorte para windows en el escritorio.

GdiEntry6 se define como alias para esta función.

Sintaxis

BOOL DdResetVisrgn(
  LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  HWND                      hWnd
);

Parámetros

pSurfaceLocal

Puntero al objeto en modo de usuario de cualquier superficie que pertenezca al dispositivo DirectDraw para el que se va a restablecer el recorte. Consulte la documentación de DDK para obtener más información.

hWnd

Reservado.

Valor devuelto

Si se ejecuta correctamente, esta función devuelve TRUE; de lo contrario, devuelve FALSE.

Comentarios

El recorte puede cambiar de forma asincrónica desde el punto de vista de los subprocesos en modo de usuario. Las partes en modo kernel de DirectDraw y windows Graphics Device Interface (GDI) mantienen un contador que se incrementa cada vez que cambia la lista de recortes de todo el escritorio. Una llamada a esta función registra este contador con cada superficie principal de DirectDraw existente en el sistema.

En cualquier momento posterior cuando una de estas superficies principales se modifica mediante una operación IDirectDrawSurface7::Blt o IDirectDrawSurface7::Lock (consulte la documentación de DDK), el contador registrado con la superficie se compara con el contador global. Si estos valores son diferentes, se devuelve un código de error DDERR_VISRGNCHANGED al código en modo de usuario. A continuación, el código en modo de usuario volverá a consultar el recorte actual para el escritorio, llamará a NtGdiDdResetVisrgn y volverá a intentar el IDirectDrawSurface7::Blt aplicado a la superficie principal, respetando el nuevo recorte. Finalmente, el recorte muestreado por el código en modo de usuario será el mismo que el recorte actual que pertenece al modo kernel y se permitirá que IDirectDrawSurface7::Blt continúe.

Se recomienda que las aplicaciones usen la interfaz IDirectDrawClipper o el método IDirect3DDevice8::P resent para controlar los cambios asincrónicos de recorte. Estas construcciones implementan el recorte asincrónico de forma automatizada e independiente del sistema operativo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ddrawgdi.h

Consulte también

Compatibilidad con clientes de bajo nivel de gráficos