Struct winsafe::HFILEMAPVIEW[][src]

#[repr(C)]
pub struct HFILEMAPVIEW { /* fields omitted */ }
Expand description

Address of a mapped view. Originally just an LPVOID.

Implementations

The null, invalid handle.

This constant is common to all handle types.

Creates a new handle instance by wrapping a pointer.

This method is common to all handle types.

Consumes the handle returning the underlying raw pointer.

This method is common to all handle types.

Tells if the handle is invalid (null).

This method is common to all handle types.

Consumes the handle into an option, which is None if the handle pointer is null.

This method is common to all handle types.

Returns a slice representing the mapped memory. You can modify the contents. You should call this method only if the file has write access.

Note: If the file is resized to a smaller size, the slice will still map the bytes beyond the file. This may cause serious errors. So, if the file is resized, re-generate the slice by calling as_slice again.

Returns a slice representing the mapped memory.

Note: If the file is resized to a smaller size, the slice will still map the bytes beyond the file. This may cause serious errors. So, if the file is resized, re-generate the slice by calling as_slice again.

Examples

Reading the contents of a file into a string:

use winsafe::{co, HFILE};

let hfile = HFILE::CreateFile(
    "C:\\Temp\\test.txt",
    co::GENERIC::READ,
    co::FILE_SHARE::READ,
    None,
    co::DISPOSITION::OPEN_EXISTING,
    co::FILE_ATTRIBUTE::NORMAL,
    None,
)?;

let hmap = hfile.CreateFileMapping(
    None,
    co::PAGE::READONLY,
    None,
    None,
)?;

let view = hmap.MapViewOfFile(co::FILE_MAP::READ, 0, None)?;

let slice = view.as_slice(hfile.GetFileSizeEx()?);
let text = std::str::from_utf8(slice)?;

view.UnmapViewOfFile()?;
hmap.CloseHandle()?;
hfile.CloseHandle()?;

println!("{}", text);

Trait Implementations

Formats the value using the given formatter.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter.

Formats the value using the given formatter.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Formats the value using the given formatter.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.