macro_rules! delayload {
{$dll:literal {
$(
$(#[$a:meta])*
$visibility:vis fn $name:ident($($params:ident : $types:ty),* $(,)?) -> $result:ty;
)*
}} => { ... };
(@result_from_win32((i32), $val:expr)) => { ... };
(@result_from_win32((u32), $val:expr)) => { ... };
(@result_from_win32((DWORD), $val:expr)) => { ... };
(@result_from_win32((HRESULT), $val:expr)) => { ... };
(@result_from_win32(($t:tt), $val:expr)) => { ... };
}