【问题标题】:WinRT WRL ABI collectionsWinRT WRL ABI 集合
【发布时间】:2016-01-03 13:58:35
【问题描述】:

我尝试使用 WRL 并坚持收藏。

我需要传递函数附加属性:

ABI::Windows::Devices::Enumeration::IDeviceInformationStatics::FindAllAsyncAqsFilterAndAdditionalProperties(
  /* [in] */ __RPC__in HSTRING aqsFilter,
  /* [in] */ __RPC__in_opt ABI::Windows::Foundation::Collections::IIterable<HSTRING>* additionalProperties, ...)

但是IIterable没有填充方法,和IVector&lt;T&gt;(有填充方法,但是抽象接口)没有联系。

我是否需要实现我自己的向量,例如there,或者是否有更简单的方法来处理集合?在这些接口下,什么样的集合返回 ABI 函数?

【问题讨论】:

  • 您需要实现自己的 IVector。
  • 这个函数在'ABI::Windows::Foundation::Collections::IVectorView'中返回结果,我只是给它一个指向这个'IVectorView'的非初始化指针。结果已实现并具有 GetAt(N) 等工作方法。我可以使用相同的实现吗?我还读到 collections.h 用标准容器实现了这个接口,但我在那里看到的只是 c++/cx 代码。
  • @РомаАрхипкин:嘿,我知道这已经有一段时间了,但你解决了吗?如果是这样,您能否发布一个代码示例,说明您如何初始化 IIterable&lt;HSTRING&gt; 参数?
  • 正如@Damyan 回答的那样,您需要实现自己的向量或使用link 我发布的问题。还有一个示例代码如何使用它

标签: c++ collections windows-runtime wrl


【解决方案1】:

您需要实现自己的(或重复使用您发布的链接中的那些)。

请注意,IIterable 确实有一个方法“First”,如果您想自己实现,您可以实现它。查看 windows.foundation.collections.h 了解更多详情。

【讨论】:

    猜你喜欢
    • 2012-12-10
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多