自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 avstream麦克风蓝屏问题跟踪

有一个以前的老客户,他在开发avstream的麦克风驱动,最近上线,但是客户那边时不时报出蓝屏问题,他们工程师查了很久,就是找不到头绪,只能靠瞎猜,改了很多次问题还是依旧,客户已经不耐烦了,毕竟是蓝屏问题,影响还是很大的,于是他们求助到了我这里。我们已经排除了地址是无效地址,那只能是无效内存了,但这是个函数,是个可执行的地址,该可执行地址难道分页了?这代表该函数放在可分页的代码段,但是该函数被调用的地方是定时器的回调,是个DISPATCH_LEVEL的IRQL,导致分页的时候蓝屏了。

2025-01-13 12:59:19 265

原创 TranScreenCamera蓝屏分析

最近一个朋友找到我帮他们查一个问题,是虚拟摄像头的一个蓝屏问题,不是必现的蓝屏,隔一段时间出现一次,他们查了很久,没有头绪,所以找我帮他们看看。是 Dispatch_level,而 m_pBuffer 使用的是分页内存,有一定的概率发生缺页中断。我们可以通过查看 m_FileLen 来看地址是否分配成功,它是有值的,所以走到的逻辑不可能。我们从上面看,貌似地址是个无效的地址,但是其实不一定,因为我打开的是 minidump,信息不全,导致无法看到数据,而不一定是无效地址,看下类的成员变量如下,发现崩溃的。

2025-01-05 15:31:53 327

原创 远程应用(SBC)任务管理器的托盘问题研究

首先,我们的远程应用原理是这样的,在远程服务器上,我们并没有拉起explorer,所以很多功能都需要我们去实现,比如任务栏、托盘这些,我们需要将一些信息传递给客户端,同时又能给应用反馈正确的信息,例如应用调用shAppBarMessage获取任务栏信息,我们需要反馈正确的任务栏信息值,还要一些托盘信息值也是类似的。所以TaskMgr没有任务栏,我们重点需要排查哪些信息我们反馈缺失或者有问题。

2024-11-16 15:46:04 347 1

原创 基于spiceserver实现的GPU方案

本文通过实现win7、win10下的WDDM过滤驱动,以及将原先的虚机显卡设备驱动qxl驱动改装成PCI驱动,成功解决了spice对GPU直通、vGPU场景的支持问题,且支持不同厂商类型的GPU,不再过度依赖显卡厂商的支持,例如虚拟显示器、高效截屏。

2023-03-13 21:45:38 3354 4

原创 kvm qemu虚拟机的创建和启动

kvm虚机创建备忘录

2023-02-26 15:28:36 2095

转载 windows7/windows10 虚拟显示器部署(Virtual monitor)

win7和win10及以上虚拟显示器

2022-11-20 10:09:28 3743

原创 【spiceserver】通过scan script提升jpeg渐进压缩的效率

解决渐进算法在spice上使用的效率问题的方案

2022-11-19 19:41:23 339

原创 spice图片渐进发送方案

最近一直在看压缩算法方面,没能找到一个研究性的方向,在研究的同时,有产生一个想法,想讨论下该想法涉及的方案的可行性,同时也希望通过该方案,打开算法研究的一个突破口,进一步在算法上对我们产品进行更深层次的优化。

2022-11-13 13:42:18 465 1

原创 spice局部视频流的判断改进

进流的目的:采用h264压缩,降低带宽。采用h264压缩的条件:连续图片需要有固定的width和height。也就是说我们在检测的时候可以去掉目标区域相同这一限制。当前去掉目标区域限制的影响:桌面上同时播放两个大小相同的流就会进入同一个流,造成关键帧增多,影响带宽。

2022-11-12 21:17:57 793

原创 Win10 下面的Mirror驱动分析

在DWM分析的文章中,有提到过在Win10 下面仍旧可以使用Mirror Driver;这个功能就有一定的奇怪了,因为从前面分析我们知道,Mirror Driver的生效前提是DWM需要关闭,而在Win10 下面,DWM已经无法关闭了,那么DWM是怎么使用的呢?本文就来探讨一下这个原理。

2022-11-06 17:25:50 1498

原创 浅谈DWM原理

在XP下面,如果一个窗口挡住了另外一个窗口,那么下面的窗口就完全不可见了,这个其实很容易理解,因为一块画布盖住了另外一块画布,那么下面的肯定就不可见了。但是从Vista开始,我们就可以发现,当我们使用窗口盖住底下窗口的时候,在窗口栏上我们依旧可以看到底下窗口的影子;这个就是DWM.exe的功劳,本文就来探讨一下这个进程的基本原理。

2022-11-06 17:08:25 6289

原创 windows虚拟显示器开发(三)USB显示器

windows下usb显示器的实现及效果

2022-08-12 21:08:24 3326 4

原创 windows虚拟显示器开发(二)WDDM hook(USB转HDMI驱动、USB手写屏开发)

很久没有继续研究wddm hook了,最后一次研究还在3年前,不得不说虽然应用的少,但是wddm hook却是很有技术含量的一项技术,而且实用性很高,我们除了做虚拟显示器还能做很多的东西,比如高效的截屏(因为直接从驱动层面截屏,所以效率和实现效果秒杀mirror driver和DXGI)、视频重定向(视频硬件加速的时候可以直接获取原始码流)、修改原始的显示器厂商信息、修改显示器支持分辨率,等等骚操作wddm hook都可以实现。去年,深圳某硬件公司找到我,他们正在做usb转HDMI或者USB转VGA的硬件

2021-04-28 18:12:48 4012 3

原创 windows虚拟显示器开发(一)

这里写自定义目录标题虚拟显示器概述虚拟显示器原理方案虚拟显示器概述最近因工作需要,需要在物理显卡上虚拟出一个显示器,我是用的操作系统是win7,查询了下官方文档和网络资源, 没有现成的框架,所以需要自己研究如何一步步实现。虚拟显示器用途挺多的,我们其实在一些场景中有用到过,比如displaylink,我们网上买的一些USB转HDMI的连接线,在使用过程中我们需要安装displaylink的驱...

2019-07-11 11:09:58 8394 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除