В моем приложении для Магазина Windows я использую компонент C ++ для использования Sink Writer. Я создал проект C ++ / WRL для этого с функцией, которая принимает поток в качестве параметра для записи в Sink Writer. Тип этого параметра: Windows :: Storage :: Streams :: FileRandomAccessStream. Теперь он выдает ошибку, в которой говорится, что пространство имен Windows :: Storage неизвестно, и когда я включаю заголовочный файл windows.storage.h, возникает ошибка «использование неопределенного типа» ABI :: Windows :: Storage :: Streams: : FileRandomAccessStream».
Кто-нибудь знает в чем проблема и как ее исправить?
Заранее спасибо!
Рональд
Классы выполнения являются логической концепцией системы типов среды выполнения Windows. При программировании на уровне среды выполнения Windows ABI (например, с использованием WRL) нельзя использовать логические функции, такие как классы времени выполнения; эти возможности могут использоваться только через языковые проекции (например, C ++ / CX).
Вместо этого программирование на уровне ABI очень похоже на программирование COM: есть только интерфейсы. Вы можете ссылаться только на FileRandomAccessStream
объект через один из интерфейсов, которые реализует тип (например, IRandomAccessStream
).
Других решений пока нет …