1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use crate::*;
use *;
/// \[[learn.microsoft.com](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-defwindowproca)\]
/// DefWindowProcA
///
/// Default handling of a window message.
///
/// ### Safety
/// * **This may destroy/invalidate `hwnd`** (on e.g. `WM_CLOSE` etc.)! See [HWnd] and [destroy_window] for rants, mitigations, and details.
/// * `hwnd` may need to be a valid, non-unicode window handle
/// * `wparam` and `lparam` may need to be valid pointers, depending on `msg` (and `hwnd`'s class)
///
/// ### See Also
/// * [def_window_proc_w]
/// * [destroy_window]
pub unsafe extern "system"
/// \[[learn.microsoft.com](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-defwindowprocw)\]
/// DefWindowProcW
///
/// Default handling of a window message.
///
/// ### Safety
/// * **This may destroy/invalidate `hwnd`** (on e.g. `WM_CLOSE` etc.). See [destroy_window] for details.
/// * `hwnd` may need to be a valid, unicode window handle
/// * `wparam` and `lparam` may need to be valid pointers, depending on `msg` (and `hwnd`'s class)
///
/// ### See Also
/// * [def_window_proc_a]
/// * [destroy_window]
pub unsafe extern "system"