WebViewProcessControl 初始化崩溃

WebViewProcessControl initialization crash

问题

我试图在我的 Win32 程序中使用 "modern" 网络视图 API,但是当我初始化 WebViewControlProcess 时,程序挂起了几秒钟,然后突然退出。

最小示例

// cl minimal.cpp /EHsc /std:c++17 /await windowsapp.lib

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Web.UI.Interop.h>

using namespace winrt;
using namespace Windows::Foundation;
using namespace Windows::Web::UI::Interop;

int main(void) {
    winrt::init_apartment();
    printf("Hello\n");

    WebViewControlProcess webviews = WebViewControlProcess();

    printf("    world!\n");
}

预期输出

Hello
    world!

实际输出

Hello

环境

我正在使用 Windows 10.0.17134 (1803)。

原来 WebViewProcessControl 需要您 winrt::init_apartment(apartment_type::single_threaded);。我不知道为什么它需要一个单线程单元,但它可以工作。