第二十五章 与WinRT组件互操做

目录:编程

CLR投射与WinRT组件类型系统规则安全

框架投射框架

用C#定义WinRT组件异步

Windows 运行时:组件的目的是公开操做系统最擅长的事情,就是对硬件和跨应用程序的功能进行抽象。因此大多数WinRT组件都只是公开了功能,好比存储,联网,图形,媒体,安全性,线程处理等。WinRT组件内部做为“组件对象模型”组件来实现。WinRT组件使用由ECMA协会标准化的.NET元数据格式(ECMA-335)来描述其API。异步编程

元数据比类库更优表现力。CLR一开始就经过运行时可调用包装器COM包装器实现了与COM组件的互操做。操作系统

CLR投射:CLR投射由CLR隐式执行,一般和元数据的从新解释有关。线程

Framework投射:Framework投射由你的代码显示执行,这是经过FCL新引入的API来执行。对象

CLR投射与WinRT组件类型系统规则

CLR看到一个WinRT类型时,一般容许经过CLR的通常化COM互操做技术来使用该类型。但有时CLR会隐藏WinRT类型(将其动态设为私有)。而后,CLR经过一个不一样的类型来公开该类型。在内部,CLR会查找特定的类型(经过元数据),而后将这些类型映射成FCL的类型。硬件

框架投射

 异步编程,WinRT流和.NET Framework流之间的互操做以及须要在CLR和WinRT API之间传输数据块的时候须要使用框架投射。程序

2.1 从.NET代码中调用异步WinRT API 

2.2 WinRT流和.NET流之间的互操做

2.3 在CLR和WinRT之间传送数据块

用C#定义WinRT组件

相关文章
相关标签/搜索