Funzione DdResetVisrgn (ddrawgdi.h)

[Questa funzione è soggetta a modifiche con ogni revisione del sistema operativo. Usare invece Microsoft DirectDraw e Microsoft Direct3DAPIs; queste API isolano le applicazioni da tali modifiche al sistema operativo e nascondono molte altre difficoltà nell'interagire direttamente con i driver di visualizzazione.

Wrapper per la funzione NtGdiDdResetVisrgn e abilita informazioni tempestive sulla modalità utente nell'area di ritaglio per le finestre sul desktop.

GdiEntry6 è definito come alias per questa funzione.

Sintassi

BOOL DdResetVisrgn(
  LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  HWND                      hWnd
);

Parametri

pSurfaceLocal

Puntatore all'oggetto in modalità utente di qualsiasi superficie appartenente al dispositivo DirectDraw per cui deve essere reimpostato il ritaglio. Per informazioni dettagliate, vedere la documentazione di DDK.

hWnd

Riservato.

Valore restituito

In caso di esito positivo, questa funzione restituisce TRUE; in caso contrario restituisce FALSE.

Commenti

Il ritaglio può cambiare in modo asincrono dal punto di vista dei thread in modalità utente. Le parti in modalità kernel di DirectDraw e Windows Graphics Device Interface (GDI) mantengono un contatore incrementato ogni volta che cambia l'elenco di ritagli per l'intero desktop. Una chiamata a questa funzione registra questo contatore con ogni superficie primaria DirectDraw esistente nel sistema.

In un secondo momento, quando una di queste superfici primarie viene modificata da un'operazione IDirectDrawSurface7::Blt o IDirectDrawSurface7::Lock (vedere la documentazione di DDK), il contatore registrato con la superficie viene confrontato con il contatore globale. Se questi valori sono diversi, un codice di errore DDERR_VISRGNCHANGED viene restituito al codice in modalità utente. Il codice in modalità utente eseguirà quindi una nuova query sul ritaglio corrente per il desktop, chiamare NtGdiDdResetVisrgn e riprovare IDirectDrawSurface7::Blt applicato alla superficie primaria, rispettando il nuovo ritaglio. Alla fine, il ritaglio campionato dal codice in modalità utente sarà uguale al ritaglio corrente di proprietà della modalità kernel e IDirectDrawSurface7::Blt sarà autorizzato a continuare.

Le applicazioni sono consigliate di usare l'interfaccia IDirectDrawClipper o il metodo IDirect3DDevice8::P resent per gestire le modifiche asincrone di ritaglio. Questi costrutti implementano il ritaglio asincrono in modo automatico e indipendente dal sistema operativo.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ddrawgdi.h

Vedi anche

Supporto client grafica di basso livello