Неизвестное пространство имен проекта 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'".

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

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

Рональд


person Ronald    schedule 20.12.2012    source источник
comment
Это звучит очень похоже на этот пост: stackoverflow.com/questions/12687502/   -  person Raman Sharma    schedule 24.12.2012


Ответы (1)


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

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

person James McNellis    schedule 06.01.2013