Share via


Função DdResetVisrgn (ddrawgdi.h)

[Essa função está sujeita a alterações com cada revisão do sistema operacional. Em vez disso, use o Microsoft DirectDraw e o Microsoft Direct3DAPIs; essas APIs isolam os aplicativos dessas alterações do sistema operacional e ocultam muitas outras dificuldades envolvidas na interação diretamente com drivers de exibição.]

Wrapper para a função NtGdiDdResetVisrgn e habilita informações em tempo hábil sobre o modo de usuário na região de recorte para janelas na área de trabalho.

GdiEntry6 é definido como um alias para essa função.

Sintaxe

BOOL DdResetVisrgn(
  LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  HWND                      hWnd
);

Parâmetros

pSurfaceLocal

Ponteiro para o objeto de modo de usuário de qualquer superfície pertencente ao dispositivo DirectDraw para o qual o recorte deve ser redefinido. Consulte a documentação do DDK para obter detalhes.

hWnd

Reservado.

Retornar valor

Se tiver êxito, essa função retornará TRUE; caso contrário, retornará FALSE.

Comentários

O recorte pode ser alterado de forma assíncrona do ponto de vista dos threads do modo de usuário. As partes do modo kernel do DirectDraw e da GDI (Interface do Dispositivo Gráfico do Windows) mantêm um contador incrementado sempre que a lista de recortes de toda a área de trabalho é alterada. Uma chamada para essa função registra esse contador com todas as superfícies primárias do DirectDraw existentes no sistema.

Posteriormente, quando uma dessas superfícies primárias é modificada por uma operação IDirectDrawSurface7::Blt ou IDirectDrawSurface7::Lock (consulte a documentação do DDK), o contador registrado com a superfície é comparado com o contador global. Se esses valores forem diferentes, um código de erro DDERR_VISRGNCHANGED será retornado ao código do modo de usuário. Em seguida, o código do modo de usuário consultará novamente o recorte atual para a área de trabalho, chamará NtGdiDdResetVisrgn e tentará novamente o IDirectDrawSurface7::Blt aplicado à superfície primária, respeitando o novo recorte. Eventualmente, o recorte que foi amostrado pelo código do modo de usuário será o mesmo que o recorte atual pertencente ao modo kernel, e o IDirectDrawSurface7::Blt terá permissão para continuar.

Os aplicativos são aconselhados a usar a interface IDirectDrawClipper ou o método IDirect3DDevice8::P resent para lidar com alterações de recorte assíncronas. Esses constructos implementam recorte assíncrono de maneira automatizada e independente do sistema operacional.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ddrawgdi.h

Confira também

Suporte ao cliente de baixo nível de gráficos