1
Я знаю, что могу преобразовать IBuffer
в Stream
, а затем оттуда до IRandomAccessStream
. Но должен быть прямой путь.Конвертировать IBuffer в IRandomAccessStream
Я знаю, что могу преобразовать IBuffer
в Stream
, а затем оттуда до IRandomAccessStream
. Но должен быть прямой путь.Конвертировать IBuffer в IRandomAccessStream
IBuffer
не является потоком, поэтому у вас должно быть что-то, чтобы адаптировать его к другому. В .NET вы можете использовать Stream
.
IBuffer buffer = ...;
IRandomAccessStream randomAccessStream = buffer.AsStream().AsRandomAccessStream();
Если вам нужно написать два вызова функций, вы можете написать вспомогательную функцию.
static IRandomAccessStream AsRandomAccessStream(this IBuffer buffer)
{
return buffer.AsStream().AsRandomAccessStream();
}
, то вы можете сделать
IBuffer buffer = ...;
IRandomAccessStream randomAccessStream = buffer.AsRandomAccessStream();
И почему должен там быть прямой путь? –
«должен быть прямой путь», не делайте ставку на него, этот материал COM действительно непрозрачен по дизайну. Если вы не можете просто «QueryInterface» последним напрямую, вы в значительной степени SOL. – Blindy
@DStanley Поскольку UWP пытается искоренить .net и др. На каждом шагу, как показали разработки приложений UWP. – ispiro