G00NSPR3AD3R
VORGEN777
 
 
[why_so_serious]
unsafe extern "system" fn driver_entry(driver: &mut DRIVER_OBJECT, _: PCUNICODE_STRING) -> NTSTATUS {
    driver.DriverUnload = Some(driver_exit);
    driver.MajorFunction[IRP_MJ_CREATE as usize] = Some(io_create);
    driver.MajorFunction[IRP_MJ_CLOSE as usize] = Some(io_close);
    driver.MajorFunction[IRP_MJ_DEVICE_CONTROL as usize] = Some(io_control);

    let mut device_name = create_unicode_string(DEVICE_PATH);
    let mut device_object: PDEVICE_OBJECT = null_mut();
    let mut status = IoCreateDevice(
        driver,
        0,
        &mut device_name,
        FILE_DEVICE_UNKNOWN,
        FILE_DEVICE_SECURE_OPEN,
        FALSE.try_into().unwrap(), // AHAHAHAHA
        &mut device_object
    );
    if status != STATUS_SUCCESS {
        println!("IoCreateDevice Error! status: {}", status);
        return status;
    }

    let mut sym_link= create_unicode_string(DEVICE_LINK);
    status = IoCreateSymbolicLink(&mut sym_link, &mut device_name);
    if status != STATUS_SUCCESS {
        println!("IoCreateSymbolicLink Error! status: {}", status);
        return status;
    }
    STATUS_SUCCESS
}