type CreateDevice = unsafe extern "C" fn(*mut c_void, *const DeviceCreateInfo, *const c_void, *mut *mut c_void) -> i32;