Как передать объект WinRT array_view<> в другой класс WinRT по ссылке, не создавая копию?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как передать объект WinRT array_view<> в другой класс WinRT по ссылке, не создавая копию?

Сообщение Anonymous »

У меня есть два класса C++/WinRT, которые проецируются на C# (NET 8.0):
Один реализует декодирование изображений из пакета SDK поставщика в плане C++. Назовем его производителем, а данные изображения представлены в виде array_view плюс дополнительная информация.
Второй класс WinRT — это потребитель, отвечающий за обработку и отображение изображения.
Оба класса не связаны между собой, но я могу добавить к ним некоторый общий интерфейс. приложение C# управляет ресурсами и должно передавать данные производителя потребителю. Это довольно большие наборы данных, и я хочу избежать создания промежуточной копии, которая произойдет в тот момент, когда C# коснется array_view, спроецированного как Byte[].
Есть ли способ заставить оба класса общаться друг с другом через побочный канал, не проецируемый на C#? Я пробовал общедоступные методы, которых нет в IDL проекции, но класс потребителя видит только проецируемые методы и свойства производителя.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ence-witho
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»