2016-01-03 2 views
0

Я стараюсь работать с WRL и застревает с коллекциями.Коллекции WinRT WRL ABI

мне нужно пройти, чтобы функционировать дополнительные свойства:

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

но IIterable не имеет методов, чтобы заполнить его, и не имеет контакта с IVector<T> (который имеет методы для заполнения, но это абстрактный интерфейс).

Мне нужно реализовать свой собственный вектор, например there или существует более простой способ работы с коллекциями? Какие коллекции возвращают функции ABI под этими интерфейсами?

+0

Вам необходимо будет реализовать свой собственный IVector. – kiewic

+0

Эта функция возвращает результат в «ABI :: Windows :: Foundation :: Collections :: IVectorView », я просто даю ему не инициализированный указатель на этот «IVectorView ». Результат реализован и имеет рабочие методы, такие как GetAt (N). Могу ли я использовать ту же реализацию? Также я прочитал, что _collections.h_ реализует эти интерфейсы с помощью std-контейнеров, но все, что я вижу там, - код C++/cx. –

+0

@ РомаАрхипкин: Эй, я знаю, что прошло какое-то время, но вы решили? Если да, можете ли вы отправить пример кода, как вы инициализировали параметр 'IIterable '? – c00000fd

ответ

0

Вам нужно будет реализовать свои собственные (или повторно использовать те, которые вы указали).

Обратите внимание, что у IIterable есть один метод «Первый», который вы можете реализовать, если хотите сделать это самостоятельно. Посмотрите в windows.foundation.collections.h для более подробной информации.

Смежные вопросы