pub trait MetadataExt {
// Required methods
fn file_attributes(&self) -> u32;
fn creation_time(&self) -> u64;
fn last_access_time(&self) -> u64;
fn last_write_time(&self) -> u64;
fn file_size(&self) -> u64;
fn volume_serial_number(&self) -> Option<u32>;
fn number_of_links(&self) -> Option<u32>;
fn file_index(&self) -> Option<u64>;
fn change_time(&self) -> Option<u64>;
}Expand description
Windows-specific extensions to fs::Metadata.
The data members that this trait exposes correspond to the members
of the BY_HANDLE_FILE_INFORMATION structure.
Required Methods§
1.1.0 · Sourcefn file_attributes(&self) -> u32
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn file_attributes(&self) -> u32
Returns the value of the dwFileAttributes field of this metadata.
This field contains the file system attribute information for a file or directory. For possible values and their descriptions, see File Attribute Constants in the Windows Dev Center.
§Examples
1.1.0 · Sourcefn creation_time(&self) -> u64
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn creation_time(&self) -> u64
Returns the value of the ftCreationTime field of this metadata.
The returned 64-bit value is equivalent to a FILETIME struct,
which represents the number of 100-nanosecond intervals since
January 1, 1601 (UTC). The struct is automatically
converted to a u64 value, as that is the recommended way
to use it.
If the underlying filesystem does not support creation time, the returned value is 0.
§Examples
1.1.0 · Sourcefn last_access_time(&self) -> u64
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn last_access_time(&self) -> u64
Returns the value of the ftLastAccessTime field of this metadata.
The returned 64-bit value is equivalent to a FILETIME struct,
which represents the number of 100-nanosecond intervals since
January 1, 1601 (UTC). The struct is automatically
converted to a u64 value, as that is the recommended way
to use it.
For a file, the value specifies the last time that a file was read from or written to. For a directory, the value specifies when the directory was created. For both files and directories, the specified date is correct, but the time of day is always set to midnight.
If the underlying filesystem does not support last access time, the returned value is 0.
§Examples
1.1.0 · Sourcefn last_write_time(&self) -> u64
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn last_write_time(&self) -> u64
Returns the value of the ftLastWriteTime field of this metadata.
The returned 64-bit value is equivalent to a FILETIME struct,
which represents the number of 100-nanosecond intervals since
January 1, 1601 (UTC). The struct is automatically
converted to a u64 value, as that is the recommended way
to use it.
For a file, the value specifies the last time that a file was written to. For a directory, the structure specifies when the directory was created.
If the underlying filesystem does not support the last write time, the returned value is 0.
§Examples
1.1.0 · Sourcefn file_size(&self) -> u64
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn file_size(&self) -> u64
Returns the value of the nFileSize fields of this
metadata.
The returned value does not have meaning for directories.
§Examples
Sourcefn volume_serial_number(&self) -> Option<u32>
🔬This is a nightly-only experimental API. (windows_by_handle #63010)This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn volume_serial_number(&self) -> Option<u32>
windows_by_handle #63010)Returns the value of the dwVolumeSerialNumber field of this
metadata.
This will return None if the Metadata instance was created from a
call to DirEntry::metadata. If this Metadata was created by using
fs::metadata or File::metadata, then this will return Some.
Sourcefn number_of_links(&self) -> Option<u32>
🔬This is a nightly-only experimental API. (windows_by_handle #63010)This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn number_of_links(&self) -> Option<u32>
windows_by_handle #63010)Returns the value of the nNumberOfLinks field of this
metadata.
This will return None if the Metadata instance was created from a
call to DirEntry::metadata. If this Metadata was created by using
fs::metadata or File::metadata, then this will return Some.
Sourcefn file_index(&self) -> Option<u64>
🔬This is a nightly-only experimental API. (windows_by_handle #63010)This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn file_index(&self) -> Option<u64>
windows_by_handle #63010)Returns the value of the nFileIndex fields of this
metadata.
This will return None if the Metadata instance was created from a
call to DirEntry::metadata. If this Metadata was created by using
fs::metadata or File::metadata, then this will return Some.
Sourcefn change_time(&self) -> Option<u64>
🔬This is a nightly-only experimental API. (windows_change_time #121478)This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
fn change_time(&self) -> Option<u64>
windows_change_time #121478)Returns the value of the ChangeTime fields of this metadata.
ChangeTime is the last time file metadata was changed, such as
renames, attributes, etc.
This will return None if Metadata instance was created from a call to
DirEntry::metadata or if the target_vendor is outside the current platform
support for this api.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".