dll_entry/lib.rs
1#[macro_export]
2macro_rules! dll_entry
3{
4 ($callback:expr) =>
5 {
6 #[no_mangle]
7 pub extern "system" fn DllMain(_: *mut (), reason: u32, _: *mut ()) -> i32
8 {
9 match reason
10 {
11 0 => {}, // Process detach
12 1 =>
13 {
14 std::thread::spawn(|| $callback());
15 }, // Process attach
16 _ => {}
17 }
18 1
19 }
20 }
21}