Bagikan melalui


Fungsi ChangeWindowMessageFilterEx (winuser.h)

Memodifikasi filter pesan Isolasi Hak Istimewa Antarmuka Pengguna (UIPI) untuk jendela tertentu.

Sintaks

BOOL ChangeWindowMessageFilterEx(
  [in]                HWND                hwnd,
  [in]                UINT                message,
  [in]                DWORD               action,
  [in, out, optional] PCHANGEFILTERSTRUCT pChangeFilterStruct
);

Parameter

[in] hwnd

Jenis: HWND

Handel ke jendela yang filter pesan UIPI-nya akan dimodifikasi.

[in] message

Jenis: UINT

Pesan yang diizinkan filter pesan melalui atau blokir.

[in] action

Jenis: DWORD

Tindakan yang akan dilakukan, dan dapat mengambil salah satu nilai berikut:

Nilai Makna
MSGFLT_ALLOW
1
Memungkinkan pesan melalui filter. Ini memungkinkan pesan diterima oleh hWnd, terlepas dari sumber pesan, bahkan berasal dari proses hak istimewa yang lebih rendah.
MSGFLT_DISALLOW
2
Memblokir pesan yang akan dikirim ke hWnd jika berasal dari proses hak istimewa yang lebih rendah, kecuali pesan diizinkan di seluruh proses dengan menggunakan fungsi ChangeWindowMessageFilter atau secara global.
MSGFLT_RESET
0
Mereset filter pesan jendela untuk hWnd ke default. Setiap pesan yang diizinkan secara global atau seluruh proses akan dilewati, tetapi pesan apa pun yang tidak disertakan dalam dua kategori tersebut, dan yang berasal dari proses hak istimewa yang lebih rendah, akan diblokir.

[in, out, optional] pChangeFilterStruct

Jenis: PCHANGEFILTERSTRUCT

Penunjuk opsional ke struktur CHANGEFILTERSTRUCT .

Mengembalikan nilai

Jenis: BOOL

Jika fungsi berhasil, fungsi mengembalikan TRUE; jika tidak, ia mengembalikan FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

UIPI adalah fitur keamanan yang mencegah pesan diterima dari pengirim tingkat integritas yang lebih rendah. Anda dapat menggunakan fungsi ini untuk memungkinkan pesan tertentu dikirim ke jendela meskipun pesan berasal dari proses pada tingkat integritas yang lebih rendah. Tidak seperti fungsi ChangeWindowMessageFilter , yang mengontrol filter pesan proses, fungsi ChangeWindowMessageFilterEx mengontrol filter pesan jendela.

Aplikasi dapat menggunakan fungsi ChangeWindowMessageFilter untuk mengizinkan atau memblokir pesan dengan cara di seluruh proses. Jika pesan diizinkan oleh filter pesan proses atau filter pesan jendela, pesan tersebut akan dikirim ke jendela.

Perhatikan bahwa proses pada atau di bawah SECURITY_MANDATORY_LOW_RID tidak diizinkan untuk mengubah filter pesan. Jika proses tersebut memanggil fungsi ini, itu akan gagal dan menghasilkan kode kesalahan yang diperluas, ERROR_ACCESS_DENIED.

Pesan tertentu yang nilainya lebih kecil dari WM_USER harus diteruskan melalui filter, terlepas dari pengaturan filter. Tidak akan ada efek ketika Anda mencoba menggunakan fungsi ini untuk mengizinkan atau memblokir pesan tersebut.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (sertakan Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-gui-l1-3-0 (diperkenalkan dalam Windows 10, versi 10.0.10240)

Lihat juga

ChangeWindowMessageFilter

Konseptual

Referensi

Windows