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 |