0

我有一个 Win32 DLL,我正在尝试将其转换为可从 UWP 使用。我需要将文件处理代码(CreateFile、ReadFile 等)替换为 WinRT 安全等效项(Windows::Storage::StorageFile)。我已经转换和编译了代码,但是当我运行应用程序时,我在返回的异步操作上调用 get 这个异常,我不知道如何解决这个问题。

4

1 回答 1

-1

好的,花了一点时间弄清楚我做错了什么,但在我的情况下处理这个问题的正确方法是将我的代码包装在 co_routine 中,然后使用 PPL 调用它。

IAsyncOperation<int> DoWork()
{
    co_await winrt::resume_background();
    …
    return someValue;
}

int Foo()
{
   return create_task([]{
       return DoWork().get();
   }).get();
}
于 2018-06-08T18:05:27.007 回答