Crate dokan[][src]

Dokan is a user mode file system for Windows. It allows anyone to safely and easily develop new file systems on Windows.

This crate is a Rust-friendly wrapper for Dokan, allowing you to create file systems using Rust.

In general, to create a file system with this library, you need to implement the FileSystemHandler trait, and pass it to Drive::mount.

Please note that some of the constants from Win32 API that might be used when interacting with this crate are not provided directly here. However, you can easily find them in the winapi crate.

Structs

CreateFileInfo

Information about the opened file returned by FileSystemHandler::create_file.

DOKAN_IO_SECURITY_CONTEXT
DiskSpaceInfo

Disk space information returned by FileSystemHandler::get_disk_free_space.

Drive

A builder that allows configuring and mounting a volume.

FileInfo

The file information returned by FileSystemHandler::get_file_information.

FindData

File information provided by FileSystemHandler::find_files or FileSystemHandler::find_files_with_pattern.

FindStreamData

Alternative stream information provided by FileSystemHandler::find_streams.

MountFlags

Flags that control behavior of the mounted volume.

MountPointInfo

Mount point information.

OperationInfo

Information about the current operation.

TokenHandle

A simple wrapper struct that holds the Win32 handle returned by OperationInfo::requester_token.

UserCreateFileFlags

The flags returned by map_kernel_to_user_create_file_flags.

VolumeInfo

Volume information returned by FileSystemHandler::get_volume_information.

Enums

DebugStream

The output stream to write debug messages to.

FileTimeInfo

The operation to perform on a file’s corresponding time information.

FillDataError

The error type for the fill-data callbacks.

MountError

The error type for Drive::mount.

OperationError

The error type for callbacks of FileSystemHandler.

Constants

DRIVER_NAME

Name of Dokan’s kernel driver file.

MAJOR_API_VERSION

The major version number of Dokan that this wrapper is targeting.

NP_NAME

Name of Dokan’s network provider.

WRAPPER_VERSION

The version of Dokan that this wrapper is targeting.

Traits

FileSystemHandler

Types that implements this trait can handle file system operations for a mounted volume.

Functions

driver_version

Gets version of the Dokan driver installed on the current system.

get_mount_point_list

Gets a list of active Dokan mount points.

is_name_in_expression

Checks whether the name matches the specified expression.

lib_version

Gets version of the loaded Dokan library.

map_kernel_to_user_create_file_flags

Converts the arguments passed to FileSystemHandler::create_file to flags accepted by the Win32 CreateFile function.

notify_create

Notifies Dokan that a file or directory has been created.

notify_delete

Notifies Dokan that a file or directory has been deleted.

notify_rename

Notifies Dokan that a file or directory has been renamed.

notify_update

Notifies Dokan that attributes of a file or directory has been changed.

notify_xattr_update

Notifies Dokan that extended attributes of a file or directory has been changed.

set_debug_stream

Set the output stream to write debug messages to.

set_driver_debug_mode

Enable or disable debug mode of the kernel driver;

set_lib_debug_mode

Enable or disable debug mode of the user mode library.

unmount

Unmount a Dokan volume from the specified mount point.

Type Definitions

PDOKAN_IO_SECURITY_CONTEXT