Bagikan melalui


Fungsi NtGdiDdResetVisrgn

[Fungsi ini dapat berubah dengan setiap revisi sistem operasi. Sebagai gantinya, gunakan Microsoft DirectDraw dan Microsoft Direct3DAPIs; API ini mengisolasi aplikasi dari perubahan sistem operasi tersebut, dan menyembunyikan banyak kesulitan lain yang terlibat dalam berinteraksi langsung dengan pengandar tampilan.]

Digunakan untuk mengaktifkan mode pengguna untuk mendapatkan pemahaman yang valid tentang wilayah kliping untuk windows di desktop. Kliping ini dapat berubah secara asinkron dari sudut pandang utas mode pengguna.

Sintaks

BOOL APIENTRY NtGdiDdResetVisrgn(
  _In_ HANDLE hSurface,
  _In_ HWND   hwnd
);

Parameter

hSurface [in]

Arahkan ke objek mode pengguna dari permukaan apa pun milik perangkat DirectDraw yang klipingnya akan direset. Untuk detailnya, lihat dokumentasi DDK.

hwnd [in]

Dicadangkan.

Nilai kembali

Jika berhasil, fungsi ini mengembalikan TRUE; jika tidak, ia mengembalikan FALSE.

Keterangan

Kliping dapat berubah secara asinkron dari sudut pandang utas mode pengguna. Bagian mode kernel DirectDraw dan Windows Graphics Device Interface (GDI) mempertahankan penghitung yang bertahap setiap kali daftar kliping untuk seluruh desktop berubah. Panggilan ke fungsi ini merekam penghitung ini dengan setiap permukaan utama DirectDraw yang ada pada sistem.

Di lain waktu ketika salah satu permukaan utama ini dimodifikasi oleh IDirectDrawSurface7::Blt atau IDirectDrawSurface7::Lock operation (lihat dokumentasi DDK), maka penghitung yang dicatat dengan permukaan dibandingkan dengan penghitung global. Jika nilai-nilai ini berbeda, kode kesalahan DDERR_VISRGNCHANGED dikembalikan ke kode mode pengguna. Kode mode pengguna kemudian akan mengkueri ulang kliping saat ini untuk desktop, memanggil NtGdiDdResetVisrgn, dan mencoba kembali IDirectDrawSurface7::Blt yang diterapkan ke permukaan utama, sehubungan dengan kliping baru. Akhirnya, kliping yang diambil sampelnya oleh kode mode pengguna akan sama dengan kliping saat ini yang dimiliki oleh mode kernel, dan IDirectDrawSurface7::Blt akan diizinkan untuk melanjutkan.

Aplikasi disarankan untuk menggunakan antarmuka IDirectDrawClipper atau metode IDirect3DDevice8::P resent untuk menangani perubahan kliping asinkron. Konstruksi ini menerapkan kliping asinkron dengan cara otomatis dan sistem operasi-independen.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Ntgdi.h

Lihat juga

Dukungan Klien Tingkat Rendah Grafis

DdResetVisrgn