Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi panggilan balik, yang Anda tentukan dalam aplikasi Anda, yang memproses pesan yang dikirim ke jendela. Jenis WNDPROC mendefinisikan penunjuk ke fungsi panggilan balik ini. Nama WndProc adalah tempat penampung untuk nama fungsi yang Anda tentukan dalam aplikasi Anda.
Syntax
WNDPROC Wndproc;
LRESULT Wndproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
Parameter-parameternya
unnamedParam1
Jenis: HWND
Handel ke jendela. Parameter ini biasanya bernama hWnd.
unnamedParam2
Jenis: UINT
Pesannya. Parameter ini biasanya bernama uMsg.
Untuk daftar pesan yang disediakan sistem, lihat Pesan yang ditentukan sistem.
unnamedParam3
Jenis: WPARAM
Informasi pesan tambahan. Parameter ini biasanya bernama wParam.
Konten parameter wParam bergantung pada nilai parameter uMsg .
unnamedParam4
Jenis: LPARAM
Informasi pesan tambahan. Parameter ini biasanya bernama lParam.
Konten parameter lParam bergantung pada nilai parameter uMsg .
Mengembalikan nilai
Jenis: LRESULT
Nilai yang dikembalikan adalah hasil pemrosesan pesan, dan tergantung pada pesan yang dikirim.
Komentar
Nota
Parameter didefinisikan di header tanpa nama: typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);. Oleh karena itu, blok sintaks mencantumkannya sebagai unnamedParam1 - unnamedParam4. Anda dapat memberi nama parameter ini apa pun di aplikasi Anda. Namun, mereka biasanya dinamai seperti yang ditunjukkan dalam deskripsi parameter. Templat proyek Visual Studio akan menggunakan nama-nama ini (atau sesuatu yang serupa, tergantung pada templat).
Jika aplikasi Anda berjalan pada sistem operasi Windows versi 32-bit, pengecualian yang tidak tertangkap dari panggilan balik akan diteruskan ke handler pengecualian tingkat yang lebih tinggi dari aplikasi Anda jika tersedia. Sistem kemudian memanggil filter pengecualian yang tidak tertangani untuk menangani pengecualian sebelum mengakhiri proses. Jika PCA diaktifkan, PCA akan menawarkan untuk memperbaiki masalah saat Anda menjalankan aplikasi berikutnya.
Namun, jika aplikasi Anda berjalan pada sistem operasi Windows versi 64-bit atau WOW64, Anda harus menyadari bahwa sistem operasi 64-bit menangani pengecualian yang tidak tertangkap secara berbeda berdasarkan arsitektur prosesor 64-bit, arsitektur pengecualian, dan konvensi panggilannya. Tabel berikut ini meringkas semua kemungkinan cara sistem operasi Windows 64-bit atau WOW64 menangani pengecualian yang tidak tertangkap.
| Jenis perilaku | Bagaimana sistem menangani pengecualian yang tidak tertangkap |
|---|---|
| 1 | Sistem menekan pengecualian yang tidak tertangkap. |
| 2 | Sistem pertama-tama mengakhiri proses, lalu Program Compatibility Assistant (PCA) menawarkan untuk memperbaikinya saat Anda menjalankan aplikasi berikutnya. Anda dapat menonaktifkan mitigasi PCA dengan menambahkan bagian Kompatibilitas ke manifes aplikasi. |
| 3 | Sistem memanggil filter pengecualian tetapi menekan pengecualian yang tidak tertangkap ketika meninggalkan cakupan panggilan balik, tanpa memanggil handler terkait. |
Tabel berikut menunjukkan bagaimana versi 64-bit dari sistem operasi Windows, dan WOW64, menangani pengecualian yang tidak tertangkap. Perhatikan bahwa perilaku tipe 2 hanya berlaku untuk sistem operasi Windows 7 versi 64-bit dan yang lebih baru.
| Sistem operasi | WOW64 | Windows 64-bit |
|---|---|---|
| Windows XP | 3 | 1 |
| Windows Server 2003 | 3 | 1 |
| Windows Vista | 3 | 1 |
| Windows Vista SP1 | 1 | 1 |
| Windows 7 dan yang lebih baru | 1 | 2 |
Nota
Pada Windows 7 dengan SP1 (32-bit, 64-bit, atau WOW64), sistem memanggil filter pengecualian yang tidak tertangani untuk menangani pengecualian sebelum mengakhiri proses. Jika Asisten Kompatibilitas Program (PCA) diaktifkan, maka program akan menawarkan untuk memperbaiki masalah saat Anda menjalankan aplikasi berikutnya.
Jika Anda perlu menangani pengecualian dalam aplikasi, Anda dapat menggunakan penanganan pengecualian terstruktur untuk melakukannya. Untuk informasi selengkapnya tentang cara menggunakan penanganan pengecualian terstruktur, lihat Penanganan pengecualian terstruktur.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
| Header | winuser.h (termasuk windows.h) |