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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
//! Aliases to Win32 types.
use std::error::Error;
use crate::co;
use crate::handles::HWND;
/// A specialized
/// [`Result`](https://doc.rust-lang.org/std/result/enum.Result.html) which
/// returns a `Box<dyn Error>` on failure.
pub type BoxResult<T> = Result<T, Box<dyn Error>>;
/// A specialized
/// [`Result`](https://doc.rust-lang.org/std/result/enum.Result.html) for Win32
/// operations, which returns an [`ERROR`](crate::co::ERROR) on failure.
pub type WinResult<T> = Result<T, co::ERROR>;
/// Type alias to
/// [`CCHOOKPROC`](https://docs.microsoft.com/en-us/windows/win32/api/commdlg/nc-commdlg-lpcchookproc)
/// callback function.
pub type CCHOOKPROC =
extern "system" fn(
hWnd: HWND,
uMsg: u32,
wParam: usize,
lParam: isize,
) -> usize;
/// Type alias to
/// [`DLGPROC`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-dlgproc)
/// callback function.
pub type DLGPROC =
extern "system" fn(
hWnd: HWND,
uMsg: co::WM,
wParam: usize,
lParam: isize,
) -> isize;
/// Type alias to
/// [`HOOKPROC`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-hookproc)
/// callback function.
pub type HOOKPROC =
extern "system" fn(
code: i32,
wParam: usize,
lParam: isize,
) -> isize;
/// Type alias to
/// [`PFTASKDIALOGCALLBACK`](https://docs.microsoft.com/en-us/windows/win32/api/commctrl/nc-commctrl-pftaskdialogcallback)
/// calback function.
pub type PFTASKDIALOGCALLBACK =
extern "system" fn(
hWnd: HWND,
msg: co::WM,
wParam: usize,
lParam: isize,
lpRefData: isize,
);
/// Type alias to
/// [`TIMERPROC`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-timerproc)
/// callback function.
pub type TIMERPROC =
extern "system" fn(
hWnd: HWND,
msg: co::WM,
timerId: usize,
nSeconds: u32,
);
/// Type alias to
/// [`SUBCLASSPROC`](https://docs.microsoft.com/en-us/windows/win32/api/commctrl/nc-commctrl-subclassproc)
/// callback function.
pub type SUBCLASSPROC =
extern "system" fn(
hWnd: HWND,
uMsg: co::WM,
wParam: usize,
lParam: isize,
uIdSubclass: usize,
dwRefData: usize,
) -> isize;
/// Type alias to
/// [`WNDPROC`](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms633573(v=vs.85))
/// callback function.
pub type WNDPROC =
extern "system" fn(
hWnd: HWND,
uMsg: co::WM,
wParam: usize,
lParam: isize,
) -> isize;