news 2026/4/15 23:38:31

23、16位驱动DLL入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
23、16位驱动DLL入门指南

16位驱动DLL入门指南

一、为何驱动DLL通常为16位

在Windows 3.x时代,微软建议开发者将所有硬件驱动打包为VxD(Windows的“真正”设备驱动)。然而,许多开发者(包括微软自身)并未遵循这一建议,而是将驱动功能放入DLL中。毕竟,VxD的学习曲线很陡峭,而打包为DLL的驱动也能胜任工作(不过,像串口驱动这类需要快速中断响应时间的驱动除外)。

如今,微软建议Windows 95开发者将硬件驱动打包为VxD。这一次,该建议更难被忽视,因为Win32 DLL被禁止执行大多数“驱动”类型的操作,禁止的操作包括:
- 访问内存映射硬件
- 执行DMA传输
- 处理硬件中断
- 发出软件中断

由此可见,若不违反这些规则,唯一能打包为32位DLL的驱动类型是最简单的那种:用于I/O映射设备的轮询模式驱动(无中断)。

许多Windows 95开发者因此听从微软建议编写VxD。不过,若将驱动构建为16位DLL,仍可编写复杂的驱动,因为16位DLL不受Win32 DLL的相同限制。实际上,微软提供的许多标准驱动(包括鼠标驱动和多媒体驱动)仍是16位的。但在Windows 95下使用16位DLL,除了驱动DLL外,还需要编写另一个DLL:thunk DLL。

二、16位DLL与32位应用程序的接口

在Windows 95中,无论与DLL接口的应用程序是旧的16位Windows 3.x应用程序还是新的32位Win32应用程序,驱动DLL始终是16位的。若要让16位驱动DLL被Win32应用程序使用,必须编写一个转换层,在32位和16位世界之间进行转换,这个转换层称为thunk DLL。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 7:38:32

34、在C中与VxD进行汇编编程

在C中与VxD进行汇编编程 1. 添加“Thunk”以支持来自VMM/VxD的回调 许多VMM和VxD服务要求调用的VxD注册一个回调函数,之后VMM/VxD会调用这个回调函数,以通知调用的VxD发生了某些有趣的事情。例如: - 一个VxD可能会调用 VPICD_Virtualize_IRQ 来注册一个硬件中断处理程序…

作者头像 李华
网站建设 2026/4/16 7:35:19

5分钟快速上手:用OpenHashTab轻松完成文件哈希验证

5分钟快速上手:用OpenHashTab轻松完成文件哈希验证 【免费下载链接】OpenHashTab 📝 File hashing and checking shell extension 项目地址: https://gitcode.com/gh_mirrors/op/OpenHashTab 在日常工作中,我们经常需要验证文件的完整…

作者头像 李华
网站建设 2026/4/16 9:11:45

Qwen2-VL-2B-Instruct:重新定义轻量级多模态AI的技术边界

在人工智能快速发展的今天,我们正面临着一个关键抉择:是继续追求参数规模的无限扩张,还是探索"小而美"的技术路径?Qwen2-VL-2B-Instruct用20亿参数实现了这一技术突破,让我们一同探索这款模型如何重塑多模态…

作者头像 李华
网站建设 2026/4/16 9:14:12

3D重建技术革命:从点云到高斯泼溅的完整演进指南

在数字视觉技术飞速发展的今天,3D重建技术正经历着从传统方法到现代深度学习的深刻变革。Brush项目作为这一领域的前沿代表,通过创新的高斯泼溅算法和实时渲染能力,为3D重建应用带来了突破性的解决方案。 【免费下载链接】brush 3D Reconstru…

作者头像 李华
网站建设 2026/4/16 9:16:44

KitchenOwl跨平台开发实战:一套代码如何征服所有设备

KitchenOwl跨平台开发实战:一套代码如何征服所有设备 【免费下载链接】kitchenowl KitchenOwl is a self-hosted grocery list and recipe manager. The backend is made with Flask and the frontend with Flutter. Easily add items to your shopping list before…

作者头像 李华
网站建设 2026/4/15 18:21:58

3步解决Win11 VMware蓝屏修复难题

3步解决Win11 VMware蓝屏修复难题 【免费下载链接】Win11环境下VMwareWorkstationPro运行虚拟机蓝屏修复指南 本资源文件旨在帮助用户在Windows 11环境下解决VMware Workstation Pro运行虚拟机时出现的蓝屏问题。通过安装Hyper-V服务,可以有效避免因系统兼容性问题导…

作者头像 李华