0

我有一个使用 WRL(Windows 运行时模板库)访问 WinRT API 的 Win32 应用程序。

如何调用IIterable从本机 C++ 获取的函数?我的问题是获得实现IIterableIVector.

作为一个具体的例子,假设我想调用SetDefaultMenuItemsInclude\10.0.14393.0\winrt\windows.ui.input.h:

namespace ABI {
namespace Windows {
namespace UI {
namespace Input {

    MIDL_INTERFACE("A6B79ECB-6A52-4430-910C-56370A9D6B42")
    IRadialControllerConfiguration : public IInspectable
    {
        public:
            virtual HRESULT STDMETHODCALLTYPE SetDefaultMenuItems( 
            /* [in] */ __RPC__in_opt __FIIterable_1_Windows__CUI__CInput__CRadialControllerSystemMenuItemKind *buttons) = 0;
        // ...
    };
}
}
}
}

似乎没有原生 C++IIterableIVector原生 C++ 的库存实现。

4

1 回答 1

1

我最终使用cppwinrt来做我想做的事。有了这个,我能够将 vanilla std 容器等传递给 WinRT。

于 2017-01-05T18:58:25.617 回答