EngModifySurface 函式 (winddi.h)
EngModifySurface 函式會通知 GDI 有關驅動程式所建立表面的屬性。
語法
ENGAPI BOOL EngModifySurface(
HSURF hsurf,
HDEV hdev,
FLONG flHooks,
FLONG flSurface,
DHSURF dhsurf,
VOID *pvScan0,
LONG lDelta,
VOID *pvReserved
);
參數
hsurf
要修改之表面的句柄。 此參數是 EngCreateDeviceBitmap 或 EngCreateDeviceSurface 所傳回的介面句柄,或是從 SURFOBJ 結構的 hsurf 成員傳回。
hdev
要與介面相關聯之裝置的句柄。 這是 GDI 傳遞至 DrvCompletePDEV的句柄。
flHooks
這是一組旗標,可控制驅動程式在指定的介面上發生 GDI 繪圖時可攔截的函式。 這可以是 EngAssociateSurface 參考頁面上所列任何HOOK_Xxx 值的位 OR。
flSurface
這是描述介面屬性的一組旗標。 目前,當介面位於視訊記憶體時,驅動程式應該將此設定為MS_NOTSYSTEMMEMORY。
dhsurf
識別驅動程式的介面。 驅動程式可以將此設定為任何專案;如果函式成功,GDI 會將所產生表面 SURFOBJ 結構的 dhsurf 成員設定為這個值。
pvScan0
位圖開頭之虛擬位址的指標。
lDelta
這是點陣圖的虛擬位址步幅;也就是說,位圖數據列開頭與下一個點陣圖數據列之間的位元元組數目。
pvReserved
是保留的,而且必須一律設定為 NULL。
傳回值
EngModifySurface 會在成功時傳回 TRUE ;否則會傳回 FALSE。
備註
EngModifySurface 可讓驅動程式修改 裝置管理的介面 ,並通知 GDI 此表面的屬性。 這可讓驅動程式將目的地介面從不透明轉換為非paque,因此允許 GDI 繪製在介面上。
DIB 引擎會使用 pvScan0 和 lDelta 直接繪製到表面。 當這些參數為 NULL 時,介面對 GDI 不透明,而 GDI 會還原為呼叫 DrvCopyBits ,以取得驅動程式未連結的繪圖作業。
DrvEnableSurface 傳回主要介面的句柄之後,請勿在該句柄上呼叫 EngModifySurface。 這樣做可能會導致在某些情況下進行錯誤檢查。 如需詳細資訊,請參閱 Microsoft 知識庫文章330248。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。 |
目標平台 | Universal |
標頭 | winddi.h (包括 Winddi.h) |
程式庫 | Win32k.lib |
Dll | Win32k.sys |