pub struct RawFile { /* private fields */ }Expand description
Low-level reader for file content through raw disk cluster reads.
This type is Windows-only and intended for privileged scenarios where reading file extents directly from disk is required.
Implementations§
Source§impl RawFile
impl RawFile
Sourcepub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
pub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
Open a raw file reader with default tuning values.
§Errors
Returns an error when:
pathis empty or not a drive-qualified path,- source file metadata cannot be opened,
- raw volume metadata cannot be queried,
- retrieval pointer data is unavailable for the file.
Sourcepub fn builder() -> RawFileBuilder
pub fn builder() -> RawFileBuilder
Create a builder for opening a raw file reader.
This is the preferred entry point when custom read tuning is needed.
Sourcepub fn copy_to<P: AsRef<Path>>(&self, destination: P) -> Result<()>
pub fn copy_to<P: AsRef<Path>>(&self, destination: P) -> Result<()>
Copy this source file into the given destination path.
The destination is created or truncated.
§Errors
Returns an error when:
- the destination cannot be created,
- source data cannot be read from raw extents,
- destination writes or flush fail,
- the current process does not have required privileges.
Trait Implementations§
Source§impl Read for RawFile
impl Read for RawFile
Source§fn read(&mut self, out_buffer: &mut [u8]) -> Result<usize>
fn read(&mut self, out_buffer: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf. Read more1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf. Read more1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill
cursor. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adapter for this instance of
Read. Read more1.0.0 · Source§fn chain<R>(self, next: R) -> Chain<Self, R>
fn chain<R>(self, next: R) -> Chain<Self, R>
Creates an adapter which will chain this stream with another. Read more
Auto Trait Implementations§
impl Freeze for RawFile
impl RefUnwindSafe for RawFile
impl Send for RawFile
impl Sync for RawFile
impl Unpin for RawFile
impl UnsafeUnpin for RawFile
impl UnwindSafe for RawFile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more