DdResetVisrgn 函式 (ddrawgdi.h)

[此函式可能會隨著每個作業系統修訂而變更。 請改用 Microsoft DirectDraw 和 Microsoft Direct3DAPIs;這些 API 會將應用程式與這類作業系統變更隔離,並隱藏與顯示驅動程式直接互動的許多其他困難。

NtGdiDdResetVisrgn 函式的包裝函式,並針對桌面上視窗的裁剪區域啟用即時使用者模式資訊。

GdiEntry6 定義為此函式的別名。

語法

BOOL DdResetVisrgn(
  LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
  HWND                      hWnd
);

參數

pSurfaceLocal

屬於要重設裁剪之 DirectDraw 裝置之任何介面的使用者模式物件的指標。 如需詳細資訊,請參閱 DDK 檔。

hWnd

保留的。

傳回值

如果成功,此函式會傳回 TRUE;否則會傳回 FALSE

備註

裁剪可以從使用者模式線程的觀點異步變更。 DirectDraw 和 Windows Graphics 裝置介面的核心模式部分 (GDI) 會維護每當整個桌面的裁剪列表變更時遞增的計數器。 呼叫此函式會記錄此計數器,其中包含系統上每個現有的 DirectDraw 主要介面。

每當 IDirectDrawSurface7::BltIDirectDrawSurface7::Lock 作業修改其中一個主要介面時, (請參閱 DDK 檔) ,以介面記錄的計數器會與全域計數器進行比較。 如果這些值不同,則會將錯誤碼DDERR_VISRGNCHANGED傳回給使用者模式代碼。 然後,使用者模式程式代碼會重新查詢桌面的目前裁剪、呼叫 NtGdiDdResetVisrgn,然後重新嘗試套用至主要介面的 IDirectDrawSurface7::Blt,並遵守新的裁剪。 最後,由使用者模式程式代碼取樣的裁剪將會與核心模式所擁有的目前裁剪相同,而 IDirectDrawSurface7::Blt 將允許繼續。

建議您使用 IDirectDrawClipper 介面或 IDirect3DDevice8::P resent 方法來處理異步裁剪變更。 這些建構會以自動化和與操作系統無關的方式實作異步裁剪。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 ddrawgdi.h

另請參閱

圖形低階客戶端支援