wdm

【光通信】参数'G'和'GE’的技术实现区别

倖福魔咒の 提交于 2020-02-26 02:19:31
100G传输技术介绍 2008年,基于40Gbps速率的WDM系统已经规模商用,许多运营商和设备商都把眼光投向100G WDM系统。其中随着100GE路由器接口标准化的完成,100G的长途传输也进入了议事日程。与40Gbps WDM系统相比,100G传输的商用化需要解决四大关键技术:100G线路传输技术、100GE接口技术、100GE封装映射技术和100G关键器件技术,下面分别概述其最新进展。   100G线路传输技术   现有100G线路传输技术主要有两种方案:多波传输方案和单波传输方案。   在100G多波传输方案中,100G信号反向复用为多波长的10Gbps/40Gbps OTU2/OTU3信号。这种方案不会对现有的10G或40G光传送网络产生影响,并可以在现有的器件技术下实现,因而是现阶段可实现的方案。但这种方案的波长利用率较低,也存在波长管理及多个波长间时延差的控制问题,所以这种方案不是100G线路传输技术的最终商用方案。   100G单波传输方案可做到“一个业务,一个波长”,可以简化网络的管理。从器件发展及降低OPEX的角度来看,该方案是未来发展的方向。业界所讨论的100G传输基本上是讨论100Gbps 单波的长途传输。   由于波特率的提升,100G单波传输信号所受到的各种物理损伤较为严重。业界研究了新的码型以降低物理损伤对100G信号的影响

How to register acpi event notify?(AcpiInterfaces.RegisterForDeviceNotifications)

我怕爱的太早我们不能终老 提交于 2020-02-04 05:42:27
问题 now I want to add the function in my acpi driver . the function is:get the BIOS Notify . I search some doc, And Write code NTSTATUS XxxAddDevice( __in struct _DRIVER_OBJECT *DriverObject, __in struct _DEVICE_OBJECT *PhysicalDeviceObject ) { . . . status = STATUS_SUCCESS; DebugPrint(("AddDevice: %p to %p->%p \n",fdo,fdoData->NextLowerDO,PhysicalDeviceObject)); DebugPrint(("DeviceObject Flag = 0x%08x\n",fdo->Flags)); DebugPrint(("DevicePnPState = %d\n", fdoData->DevicePnPState)); { //PACPI

谈WDM与WDF (windows驱动开发)

和自甴很熟 提交于 2020-01-07 16:00:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 转载自http://yinaiyun52.blog.163.com/blog/static/36251574200826112436776/ WDF驱动模型 如所周知,自Windows 2000开始,开发驱动程序必以WDM为基础的,但其开发难度之大,根本不能奢望像用户模式应用程序开发那样容易。为改善这种局面,微软推出了新的驱动程序开发环境。要预先指出的是,这不是另起炉灶改弦更张,而是以WDM为基础进行了建模和封装,显著特点是降低了开发难度。因为: 1、 将原来普通程序设计中基于对象的技术应用到了驱动开发中。WDM中虽也有对象模型,但与真正的基于对象技术根本就不是一回事。为了实现基于对象的技术,微软精心设计了对象模型并进行了封装。属性、方法、事件等等“一个都不能少”。 2、 无论内核模式的驱动程序或者用户模式的驱动程序,都采用同一套对象模型构建,采用同一个基础承载。这个基础就是WDF。WDF虽然已经是经过封装和定义的对象模型,但对内核模式和用户模式对象来说,WDF又是两者的父对象。换言之两者都是继承了WDF才得到的,或者都是从WDF派生而来的。相对于内核模式,派生出的对象称为“KMD框架”即KMDF;相对于用户模式,派生出的模型称为“UMD框架”即UMDF。无论何种模式的框架,其内部封装的方法

How does a Windows Kernel mode Driver, access paged memory?

只愿长相守 提交于 2020-01-01 03:49:07
问题 1) A usermode process has its own "address context", which maps the user-mode virtual addresses to a unique collection of physical page frames. That is, the meaning of any particular virtual address changes from one moment to the next as the Windows XP scheduler switches threads. Part of work of "switching threads" is to change the page tables so that they refer to the incoming thread’s process context. _ 2) A Windows Kernel-mode Driver executes in "arbitrary thread context". A driver may

WDM驱动开发

核能气质少年 提交于 2019-12-12 06:26:18
WDM驱动开发之路 (一)了解篇 WDM模型(Windows Driver Model)是微软公司为当前主流操作系统Windows98和Windows 2000的驱动程序设计的一种构架。它和传统的win3.x和win95使用的vxd的驱动是完全不同的体系结构。不过对于最终用户来说,WDM驱动程序在Windows98和Windows2000下的表现很相似。作为驱动开发人员来说,它在两者中有很多的不同。并且Windows98中的WDM只能算是Windowss2000中的WDM的一个了集。在Windows98中有一些驱动程序只能使用VXD来实现,如串行通讯驱动等。 要写驱动程序,首先要了解操作系统的结构。在WDM体系中,windows2000操作系统中是最标准的实现方式,Windows98则是部分兼容WDM结构。照微软的说法,Windows98和Windows2000 X86(Intel 架构)版本实现二进制码兼容(参见98DDK),Windows2000 x86版本与其它CPU平台版本实现源码级兼容(因为Windows 2000是基本NT相似的结构,最底层是硬件抽象层HAL,所有我们相信它们之间能源码级兼容)。但实际上,Windows2000的WDM实现中有很多例程在Windows98中没有实现,一旦试图加载这样的WDM驱动程序到Windows98中,则不能正常加载

error C1083: Cannot open include file: '\inc\wxp\warning.h': No such file or directory

青春壹個敷衍的年華 提交于 2019-12-12 04:30:59
问题 Background: So I picked up Programming the Windows Driver model and tried to build the very first sample it has using visual studio 2013 Ultimate. While the book seems very reputed, there is no update for the sample code. I saw some signs to used the older "build" instead of current msbuild / visual studio. But that is another learning I am not prepared to do unless required (especially as I didnt find nmake or build quickly enough and i ll be learning older build processes which I dont need

How can I install this driver?

允我心安 提交于 2019-12-11 17:26:26
问题 I downloaded the IOCTL sample driver from MSDN. I am trying to run an executable in this example to load the driver from its SYS file, but I get this error when it calls StartService: StartService failure! Error = 577 Unable to install driver. ControlService failed! Error = 1062 577, according to error code documentation, means: ERROR_INVALID_IMAGE_HASH 577 (0x241) Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that

Where can I find a minimalistic WDM driver template with source code in it? [closed]

心不动则不痛 提交于 2019-12-07 21:43:14
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed 5 years ago . I came across kernel-mode drivers with very little experience. Here's what I am trying to do: Have a user-mode application that loads the driver. Have the user-mode application write to it, in order to send it an instruction. Have the driver send the RDMSR instruction to the Intel chip. Return the results back

IKsPropertySet interface is not supported in IMFMediSource

♀尐吖头ヾ 提交于 2019-12-05 06:12:39
问题 I am porting my Direct Show camera based SDK to MFT. In my old code I have KSProxy interface like IksTopolgy,IKsControl and IKsProperty . IksTopolgy,IKsControl is used to enumerate the property set and IKsProperty to get/set the property value. Now I was trying to same in new code.I am able to enumerate the property i.e following code is supported in MFT. CComPtr<IKsTopologyInfo> ksTopology = NULL; hRet = m_pMediaSource->QueryInterface(&ksTopology); But IKsProperty interface which is used to

IKsPropertySet interface is not supported in IMFMediSource

為{幸葍}努か 提交于 2019-12-03 20:30:07
I am porting my Direct Show camera based SDK to MFT. In my old code I have KSProxy interface like IksTopolgy,IKsControl and IKsProperty . IksTopolgy,IKsControl is used to enumerate the property set and IKsProperty to get/set the property value. Now I was trying to same in new code.I am able to enumerate the property i.e following code is supported in MFT. CComPtr<IKsTopologyInfo> ksTopology = NULL; hRet = m_pMediaSource->QueryInterface(&ksTopology); But IKsProperty interface which is used to get/set the property value is not working returning E_NOINTERFACE. hRet = m_pMediaSource-