Bagikan melalui


Fungsi EngModifySurface (winddi.h)

Fungsi EngModifySurface memberi tahu GDI tentang atribut permukaan yang dibuat oleh driver.

Sintaks

ENGAPI BOOL EngModifySurface(
  HSURF  hsurf,
  HDEV   hdev,
  FLONG  flHooks,
  FLONG  flSurface,
  DHSURF dhsurf,
  VOID   *pvScan0,
  LONG   lDelta,
  VOID   *pvReserved
);

Parameter

hsurf

Tangani ke permukaan yang akan dimodifikasi. Parameter ini adalah handel permukaan yang dikembalikan oleh EngCreateDeviceBitmap atau EngCreateDeviceSurface, atau dari anggota hsurf struktur SURFOBJ .

hdev

Tangani ke perangkat yang permukaannya akan dikaitkan. Ini adalah handel yang diteruskan GDI ke DrvCompletePDEV.

flHooks

Adalah sekumpulan bendera yang mengontrol fungsi yang dapat dikaitkan oleh driver setiap kali gambar GDI terjadi pada permukaan yang ditentukan. Ini bisa menjadi bitwise ATAU dari salah satu nilai HOOK_Xxx yang tercantum di halaman referensi EngAssociateSurface .

flSurface

Adalah sekumpulan bendera yang menggambarkan atribut permukaan. Saat ini, driver harus mengatur ini ke MS_NOTSYSTEMMEMORY ketika permukaan terletak di memori video.

dhsurf

Mengidentifikasi permukaan ke driver. Driver dapat mengatur ini ke apa pun; GDI menetapkan anggota dhsurf dari struktur SURFOBJ permukaan yang dihasilkan ke nilai ini jika fungsi berhasil.

pvScan0

Arahkan ke alamat virtual awal bitmap.

lDelta

Adalah langkah alamat virtual dari bitmap; yaitu, jumlah byte antara awal satu baris bitmap dan baris berikutnya.

pvReserved

Dicadangkan dan harus selalu diatur ke NULL.

Mengembalikan nilai

EngModifySurface mengembalikan TRUE setelah berhasil; jika tidak, ia mengembalikan FALSE.

Keterangan

EngModifySurface memungkinkan driver untuk memodifikasi permukaan yang dikelola perangkat dan memberi tahu GDI tentang atribut permukaan ini. Ini memungkinkan driver untuk mengonversi permukaan tujuan dari buram ke nonopaque, sehingga memungkinkan GDI untuk menggambar di permukaan.

Mesin DIB menggunakan pvScan0 dan lDelta untuk menggambar langsung ke permukaan. Ketika parameter ini NULL, permukaan buram ke GDI, dan GDI akan kembali memanggil DrvCopyBits untuk operasi menggambar yang tidak dikaitkan oleh driver.

Setelah DrvEnableSurface mengembalikan handel ke permukaan utama, jangan panggil EngModifySurface pada handel tersebut. Melakukannya dapat menyebabkan pemeriksaan bug dalam keadaan tertentu. Untuk informasi selengkapnya, lihat artikel Microsoft Knowledge Base 330248.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows 2000 dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Universal
Header winddi.h (termasuk Winddi.h)
Pustaka Win32k.lib
DLL Win32k.sys

Lihat juga

DrvCopyBits

EngAssociateSurface