从FutureAccessList同步获取文件夹路径

时间:2018-04-14 11:34:05

标签: c++ .net uwp

我使用FolderPicker在FutureAccessList中存储了许多文件夹。为了记录/配置目的,我希望能够枚举这些并以字符串形式打印出它们的完整路径。

我已经编写了下面的代码来尝试帮助解决这个问题,但它仍然会抛出以下内容:

Unhandled exception at 0x0355CAB6 (ucrtbased.dll) in foo.exe: An invalid 
parameter was passed to a function that considers invalid parameters fatal.

这是代码,如果有人能告诉我哪里出错了我会很感激。我真的想以同步方式执行GetFolderAsync函数,即exec-wait-return。我确定这是一个简单的答案,但我正熟练使用其他语言背景的C ++ / UWP编程!

String^ MainPage::GetFolderPathForKey(String^ key)
{
    task<String^> t = create_task(
        StorageApplicationPermissions::FutureAccessList->GetFolderAsync(key))
        .then([](StorageFolder^ folder)
    {
        if (folder != nullptr) {
            return folder->Name;
        }
        return ref new String(L"Unknown?");

    });
    String^ taskResult = t.get();
    return taskResult;
}

1 个答案:

答案 0 :(得分:0)

问题是由于在UI线程中尝试了get()/ wait()。