Trait ProjFS

Source
pub trait ProjFS {
    // Required methods
    fn start_dir_enum(
        &self,
        id: Guid,
        path: RawPath<'_>,
        version: VersionInfo,
    ) -> Result<()>;
    fn end_dir_enum(&self, id: Guid, version: VersionInfo) -> Result<()>;
    fn get_dir_enum(
        &self,
        id: Guid,
        path: RawPath<'_>,
        flags: CallbackDataFlags,
        version: VersionInfo,
        pattern: Option<RawPath<'_>>,
        handle: DirHandle,
    ) -> Result<()>;
    fn get_metadata(
        &self,
        path: RawPath<'_>,
        version: VersionInfo,
    ) -> Result<FileBasicInfo>;
    fn read(
        &self,
        path: RawPath<'_>,
        version: VersionInfo,
        offset: u64,
        buf: &mut [u8],
    ) -> Result<()>;

    // Provided method
    fn fill_entries<'a, I: AsRef<FileBasicInfo>, Iter: Iterator<Item = I>>(
        iter: &mut Peekable<Iter>,
        handle: DirHandle,
    ) -> usize { ... }
}

Required Methods§

Source

fn start_dir_enum( &self, id: Guid, path: RawPath<'_>, version: VersionInfo, ) -> Result<()>

Source

fn end_dir_enum(&self, id: Guid, version: VersionInfo) -> Result<()>

Source

fn get_dir_enum( &self, id: Guid, path: RawPath<'_>, flags: CallbackDataFlags, version: VersionInfo, pattern: Option<RawPath<'_>>, handle: DirHandle, ) -> Result<()>

Source

fn get_metadata( &self, path: RawPath<'_>, version: VersionInfo, ) -> Result<FileBasicInfo>

Source

fn read( &self, path: RawPath<'_>, version: VersionInfo, offset: u64, buf: &mut [u8], ) -> Result<()>

Provided Methods§

Source

fn fill_entries<'a, I: AsRef<FileBasicInfo>, Iter: Iterator<Item = I>>( iter: &mut Peekable<Iter>, handle: DirHandle, ) -> usize

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§