C++/WRL проект неизвестного пространства имен Windows::Storage

В моем приложении для Магазина Windows я использую компонент C++ для использования Sink Writer. Я создал проект C++/WRL для этого с функцией, которая принимает поток в качестве параметра для записи в Sink Writer. Тип этого параметра: Windows:: Storage:: Streams:: FileRandomAccessStream. Теперь он выдает ошибку, говорящую о том, что пространство имен Windows:: Storage не известно, и когда я включаю заголовочный файл windows.storage.h, возникает ошибка "использование неопределенного типа" ABI::Windows::Storage::Streams::FileRandomAccessStream".

Кто-нибудь знает в чем проблема и как ее исправить?

Заранее спасибо!

Рональд

1 ответ

Классы выполнения - это логическая концепция системы типов среды выполнения Windows. При программировании на уровне среды выполнения Windows ABI (например, с использованием WRL) нельзя использовать логические функции, такие как классы времени выполнения; эти возможности могут использоваться только через языковые проекции (например, C++/CX).

Вместо этого программирование на уровне ABI очень похоже на программирование COM: есть только интерфейсы. Вы можете ссылаться только на FileRandomAccessStream объект через один из интерфейсов, которые реализует тип (например, IRandomAccessStream).

Другие вопросы по тегам