Как вызвать файл в "ожидаемое время"?
Сегодня я решил попрактиковаться в создании приложений с библиотекой windows-rs. Но вот незадача, запуская программу получаю ошибку "метод вызван в неожиданное время". В чем проблема?
по коду:
ошибка:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { code: 0x8000000E, message: Метод вызван в неожиданное время. }', src\main.rs:8:54
stack backtrace:
0: std::panicking::begin_panic_handler
at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c\/library\std\src\panicking.rs:584
1: core::panicking::panic_fmt
at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c\/library\core\src\panicking.rs:143
2: core::result::unwrap_failed
at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c\/library\core\src\result.rs:1749
3: enum$<core::result::Result<windows::Windows::Storage::StorageFile,windows::core::error::Error> >::unwrap<windows::Windows::Storage::StorageFile,windows::core::error::Error>
at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c\library\core\src\result.rs:1065
4: FileProperties::main
at .\src\main.rs:8
5: core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c\library\core\src\ops\function.rs:227
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: process didn't exit successfully: `target\debug\FileProperties.exe` (exit code: 101)
abc - путь к файлу
getfile,file - получаем файл
filet - тип файла
stri - переводим тип HSTRING в String
main.rs
use windows::Storage::*;
use windows::Foundation::*;
use windows::core::HSTRING;
fn main(){
let abc:&str = r"///filepath\\\";
let getfile = StorageFile::GetFileFromPathAsync(&HSTRING::from(abc)).unwrap();
let file = IAsyncOperation::GetResults(&getfile).unwrap();
let filet = StorageFile::FileType(&file).unwrap();
let stri = HSTRING::to_string_lossy(&filet);
println!("{stri}")
}
Cargo.toml
[package]
name = "FileProperties"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[dependencies.windows]
version = "0.39.0"
features = [
"Storage",
"Storage_FileProperties",
"Storage_BulkAccess",
"Storage_Search",
"Foundation",
]