UWP开发细节记录:IStream 和 IRandomAccessStream^ 以及 IMFByteStream 互转
IStream 和 IRandomAccessStream^ 互转
IRandomAccessStream^ --> IStream: CreateStreamOverRandomAccessStream
IStream --> IRandomAccessStream^: CreateRandomAccessStreamOverStream
IStream 和 IMFByteStream 互转
IStream --> IMFByteStream: MFCreateMFByteStreamOnStream
IMFByteStream --> IStream: MFCreateStreamOnMFByteStream
IMFByteStream 和 IRandomAccessStream^ 互转
IRandomAccessStream^ --> IMFByteStream: MFCreateMFByteStreamOnStreamEx
IMFByteStream --> IRandomAccessStream^: MFCreateStreamOnMFByteStreamEx
另:
MFCreateMFByteStreamOnStreamEx 的MSDN文档有错误,第一个参数应该是 IUnknown* 而非 IUnknown ;
IRandomAccessStream^ 转为 IUnknown* 使用 reinterpret_cast<IUnknown *>() 或者 reinterpret_cast<IInspectable*>() 。
UWP开发细节记录:IStream 和 IRandomAccessStream^ 以及 IMFByteStream 互转的更多相关文章
- UWP开发细节记录:加载图像文件到D2D位图和D3D纹理
		在UWP中加载文件一般先创建 StorageFile 对象,然后调用StorageFile.OpenReadAsync 方法得到一个IRandomAccessStream 接口用来读取数据: Stor ... 
- UWP开发细节记录:DirectX::XMMATRIX 的坑
		这两天写的代码概率性的崩溃在 XMMatrixMultiply() 函数,XMMatrixMultiply() 本身是 inline 函数可以看到崩溃处的代码: vX = _mm_mul_ps(vX, ... 
- UWP开发细节记录:WRL::ComPtr 的坑
		WRL::ComPtr 取原始指针的地址有两种方式: operator&() 先释放原指针再取地址 GetAddressOf() 直接得到原始指针的地址 显然,operator& ... 
- UWP开发细节记录:判断文件类型
		StorageFile.ContentType 属性,是 string 类型,用来表示文件内容的 MIME 类型.例如,音乐文件可能有 "audio/mpeg" MIME 类型.( ... 
- PC客户端开发细节记录:保存GUID到VARIANT
		有两个 API 可以实现保存 GUID 到 VARIANT InitVariantFromGUIDAsBuffer 以字节数组形式保存,保存类型为 VT_ARRAY | VT_UI1,相当于字节拷贝, ... 
- java后台开发细节记录
		1. ResultMap是程序员控制SQL查询结果和实体类的映射关系,而不是sql语句中字段的重命名,所以在sql语句中还是要按照原来字段的格式进行书写. 
- 领域驱动和MVVM应用于UWP开发的一些思考
		领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ... 
- UWP开发的一些思考
		UWP开发的一些思考 领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中 ... 
- UWP开发之控件:用WebView做聊天框
		目录 说明 WebView存在的价值 使用WebView的几个重要技巧 使用WebView做的聊天框 说明 大家都知道,无论是之前的Winform.WPF还是现在的IOS.Android开发中,都存在 ... 
随机推荐
- Git for Windows之基础环境搭建与基础操作
			一.安装Git工具 下载地址:Git For Windows 下载完后,安装,全程Next. 二.全局配置 1.配置本地用户名,用于提交代码 2.配置邮箱 三.创建本地Git项目仓库 1.建立代码仓库 ... 
- python特殊的数据类型
			lsit 列表是一种有序的数据集合,允许数据类型不一致! 1.定义:l=[1,"s",'2',True,u"您好"] 或者 l=list() 2.访问:l[0] ... 
- Java8-用Lambda表达式给List集合排序
			Lambda用到了JDK8自带的一个函数式接口Comparator<T>. 准备一个Apple类 public class Apple { private int weight; priv ... 
- [Python学习笔记-005] 理解yield
			网络上介绍yield的文章很多,但大多讲得过于复杂或者追求全面以至于反而不好理解.本文用一个极简的例子给出参考资料[1]中的讲解,因为个人觉得其讲解最为通俗易懂,读者只需要对Python的列表有所了解 ... 
- Spring总结 2.装配bean
			本随笔内容要点如下: bean的作用域 占位符 一.bean的作用域 在默认情况下,Spring管理的bean的单例的.也就是说,无论注入多少次,都是同一个bean对象.一般情况下,单例模式是足以应付 ... 
- SpringBoot学习(一)——Spring的发展
			一.Spring1.x时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在Java类和xml配置文件中切换. 二.S ... 
- Xcode中的Vim--XVim
			相信大家在开始使用一门编程语言的时候,最先做的事就是去学习它对应的IDE.在你稍微进阶的时候,就会想着去学习IDE中的各种快捷键,比如 如何删除整行 如何在不使用鼠标的情况下,在代码间快速移动.跳转 ... 
- Qt编写自定义控件12-进度仪表盘
			前言 进度仪表盘主要应用场景是标识一个任务进度完成的状况等,可以自由的设置范围值和当前值,为了美观还提供了四种指示器(圆形指示器/指针指示器/圆角指针指示器/三角形指示器),各种颜色都可以设置,其中的 ... 
- 【模板】堆优化 + dij +pair 存储
			就是短 感谢Cptraserdalao的博客 #include<bits/stdc++.h> using namespace std; struct node { int val,num; ... 
- oracle数据库无法导出空表的问题解决(开始于oracle11g)
			--设置系统参数 alter system set deferred_segment_creation=false; Select 'alter table '||table_name||' allo ... 
